Control apparatus and method for master-slave robot, master-slave robot, control program, and integrated electronic circuit

ABSTRACT

A control apparatus for a master-slave robot includes a force correction section detecting unit that detects a section at which force information from at least one of force information and speed information is corrected, and a force correcting unit that corrects the force information at a section detected as a force correction section by the force correction section detecting unit. A small external force applied to a slave manipulator is magnified and transmitted to a master manipulator, or an excessive manipulation force applied to the master manipulator is reduced and transmitted to the slave manipulator.

BACKGROUND OF THE INVENTION

The present invention relates to a control apparatus and method for amaster-slave robot to generate and teach an operation of, for example, arobot arm, a master-slave robot having a control apparatus for amaster-slave robot, a control program for a control apparatus for amaster-slave robot, and an integrated electronic circuit.

In recent years, on a manufacturing premise, due to manufacturing of awide variety of products in small quantities, model changes arefrequently performed. On a recent manufacturing premise on which cellproduction is popularly performed, in order to automate a screwing taskor a fitting task for components, a fixing task therefor, an insertingtask for a flexible board, a polishing task, and the like with robots,the robots need to flexibly cope with a wide variety of components orprocedures. A task such as an inserting task for a flexible board thathandles a flexible material is complex, and still mainly manuallyperformed. It is strongly demanded to automatically perform the taskthat is mainly manually performed.

Thus, a method of teaching a robot to perform a task with use of ateaching pendant or a programming is used. However, when teaching isperformed by such a method, the number of teaching stepsdisadvantageously considerably increases. In order to solve the problem,direct teaching that teaches a robot by directly touching the robot or amethod of performing simple teaching by using a control apparatus for amaster-slave robot in which a robot (master) that is manipulated by aperson and a robot (slave) that actually works are different from eachother is used.

An example of the direct teaching is known in which a force sensor isattached to a wrist of a robot or the like, and a teacher directly gripsa handle attached to a top of the force sensor to lead the robot to ateaching point and teaches the robot a point to be positioned at (seePatent Literature 1 [Unexamined Japanese Patent Publication No.59-157715]).

As an example of a method of performing simple teaching by using acontrol apparatus for a master-slave robot, a method of performingteaching by using a control apparatus for a master-slave robot in whicha force acquired by a slave manipulator is fed back to a mastermanipulator, and the force added to the slave manipulator by a personcan be sensed is used (see Patent Literature 2 [Unexamined JapanesePatent Publication No. 2002-59380], Patent Literature 3 [UnexaminedJapanese Patent Publication No. 8-281573], and Patent Literature 4[Unexamined Japanese Patent Publication No. 1-34686]).

As an example of the method of performing teaching by using the controlapparatus for a master-slave robot, a person grips and operates a mastermanipulator to teach information to the master manipulator. On the basisof the information taught to the master manipulator, a method ofteaching the information to a slave manipulator having a size differentfrom that of the master manipulator by increasing or reducing a distancebetween teaching points is used (see Patent Literature 5 [UnexaminedJapanese Patent Publication No. 5-204440]).

SUMMARY OF THE INVENTION

However, in Patent Literature 1, since a force acquired by a robot isphysically fed back to a person, the force transmitted to the personcannot be changed in magnitude. For this reason, for example, when atask of inserting a flexible board is to be performed, in the case wherethe flexible board decreases in rigidity by changing components orprocedures, or in the case where a position where a robot grips theflexible board is distant from a distal end of the board, a forceacquired by the robot decreases. Thus, a force transmitted to a humanbecomes small in magnitude, whereby a task time becomes very long.

A result obtained when a person performs an inserting task by usingdirect teaching about the task of inserting a flexible board while theperson senses the force transmitted to the robot is shown below. At thistime, when the task is performed while changing a grip position of theflexible board gripped by the robot, a change in the task time by thechange of the grip positions is verified through an experiment. In FIGS.29A to 29C, a human hand 101 directly touches a manipulator 105 thatgrips a flexible board 104 and performs an inserting task to a connector106. FIG. 29A shows a case in which a grip position is 5 mm distant froman end edge 104 a on an insertion side, and FIG. 29B shows a case inwhich the grip position is 10 mm distant from the end edge 104 a on theinsertion side. FIG. 29C shows procedures of the inserting task of theflexible board 104 to the connector 106. An experiment result obtainedwhen the grip position is 5 mm distant is shown in FIG. 30, and anexperiment result obtained when the grip position is 10 mm is shown inFIG. 31. Solid lines in FIGS. 30 and 31 indicate magnitudes of forcesgenerated when the flexible board 104 collides with the connector 106,and a broken line indicates a speed of a hand of the manipulator 105.Abscissas in FIGS. 30 and 31 indicate experiment times (ms). Eachexperiment time is a time from an experiment start time that is set at 0ms to an experiment end time. Left ordinates in FIGS. 30 and 31 indicatemagnitudes (N) of forces generated when the flexible board 104 collideswith the connector 106, and right ordinates in FIGS. 30 and 31 indicatespeeds (mm/ms) of the hand of the manipulator 105. Views drawn below thegraphs in FIGS. 30 and 31 show insertion states to the connector 106 ofthe flexible board 104, and show states of the flexible board 104 withrespect to the connector 106 at an experiment time indicated by theabscissa of the graph. Reference symbol A in each of FIGS. 30 and 31shows a state in which the flexible board 104 collides with an entranceof the connector 106 to start insertion. Reference symbol B shows astate in which the flexible board 104 collides with the back of theconnector 106 to complete the insertion. When A in FIG. 30 is comparedwith that in FIG. 31, it is found that A in FIG. 31 has a time longerthan that in FIG. 30. When B in FIG. 30 is compared with that in FIG.31, it is found that B in FIG. 31 has a force smaller than that in FIG.30. Thus, it can be confirmed that a time required for insertion whenthe grip position being 10 mm distant is longer than when the gripposition being 5 mm, that a force to be acquired decreases when the gripposition being 10 mm distant, and that an inserting task becomesdifficult.

In Patent Literatures 2, 3, and 4, by using a control apparatus for amaster-slave robot, a force transmitted to a person can be changed inmagnitude. However, in the same task, since the force is changed inmagnitude by the same manner in any step, the force cannot be clearlyweakened or strengthened. For this reason, an operator cannot clearlyknow whether a force is strong or weak during a task. Even though theforce is changed in magnitude, a task time cannot be shortened.

Furthermore, a task such as a task of inserting a flexible board thathandles a flexible material also has a problem in which the board or thelike is damaged by being applied with an excessive force.

In Patent Literature 5, teaching using a control apparatus for amaster-slave robot is performed. However, the teaching uses onlyposition information and does not use force information. In theteaching, an external force applied to the slave manipulator during atask cannot be transmitted to a hand of a person who grips the mastermanipulator.

The present invention has been made in consideration of the aboveproblems, and has an object thereof to provide a control method andapparatus for a master-slave robot, a master-slave robot, a controlprogram, and an integrated electronic circuit in which, even thoughcomponents or procedures change, an operator can easily perform a taskfor a short period of time without damaging an object.

In order to achieve the above object, the present invention has thefollowing configuration.

According to a first aspect of the present invention, there is provideda control apparatus for a master-slave robot having a slave manipulatorthat grips an object and performs a task while touching an object to beworked and a master manipulator that causes a person to remote-controlthe slave manipulator, comprising:

a force information acquiring unit that acquires force informationexternally applied to the slave manipulator;

a force correction section detecting unit that detects a forcecorrection section serving as information of a zone that is required tobe corrected in the force information on basis of the force informationacquired by the force information acquiring unit;

a force correcting unit that corrects the force information in the zonedetected by the force correction section detecting unit;

a force transmitting unit that transmits the force information from theforce correcting unit to the master manipulator;

a master control unit that controls manipulation information of themaster manipulator when the person manipulates the master manipulator onbasis of the force information from the force transmitting unit; and

a slave control unit that is connected to the slave manipulator and themaster control unit and outputs a control signal transmitting themanipulation information of the master manipulator sent from the mastercontrol unit to the slave manipulator.

According to a second aspect of the present invention, there is provideda control apparatus for a master-slave robot having:

a slave manipulator that grips an object and performs a task whiletouching an object to be worked, and

a master manipulator that causes a person to remote-control the slavemanipulator, comprising:

a master force information acquiring unit that acquires forceinformation applied to the master manipulator by the person;

a slave force correction section detecting unit that detects a forcecorrection section serving as information of a zone that is required tobe corrected in the force information on basis of the force informationacquired by the master force information acquiring unit;

a slave force correcting unit that corrects the force information in thezone detected by the slave force correction section detecting unit;

a slave force transmitting unit that transmits the force informationfrom the slave force correcting unit to the slave manipulator;

a master control unit that controls manipulation information of themaster manipulator when the person manipulates the master manipulator onbasis of the force information from the slave force transmitting unit;and

a slave control unit that is connected to the slave manipulator and themaster control unit and outputs a control signal transmitting themanipulation information of the master manipulator sent from the mastercontrol unit to the slave manipulator.

According to a sixteenth aspect of the present invention, there isprovided the control apparatus for a master-slave robot according to thethirteenth aspect, further comprising a master grip position acquiringunit that acquires position information for which the person grips themaster manipulator, and

a correction amount storing unit that stores relationship informationbetween the position information for which the person grips the mastermanipulator and a correction amount, wherein

the force correcting unit or the slave force correcting unit,

when the “master grip position information” is selected in the forcecorrecting method selecting unit,

acquires the position information for which the person grips the mastermanipulator in the master grip position information acquiring unit, and

calculates a correction amount of the force information from thecorrection amount storing unit by using the position informationacquired from the master grip position information acquiring unit.

According to a seventeenth aspect of the present invention, there isprovided a control method for a control apparatus for a master-slaverobot including a slave manipulator that grips an object and performs atask while touching an object to be worked and a master manipulator thatcauses a person to remote-control the slave manipulator, comprising:

acquiring force information externally applied to the slave manipulatorby a force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the force information acquiring unit,by a force correction section detecting unit;

correcting the force information in the zone detected by the forcecorrection section detecting unit, by a force correcting unit;

transmitting the force information from the force correcting unit to themaster manipulator by a force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the force transmitting unit; and

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit.

According to an eighteenth aspect of the present invention, there isprovided a master-slave robot comprising the master manipulator, theslave manipulator, and the control apparatus for a master-slave robotaccording to any one of the first to sixteenth aspects.

According to a nineteenth aspect of the present invention, there isprovided a control program for a control apparatus for a master-slaverobot including a slave manipulator that grips an object and performs atask while touching an object to be worked and a master manipulator thatcauses a person to remote-control the slave manipulator,

causing a computer to execute steps of:

acquiring force information externally applied to the slave manipulatorby a force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the force information acquiring unit,by a force correction section detecting unit;

correcting the force information in the zone detected by the forcecorrection section detecting unit, by a force correcting unit;

transmitting the force information from the force correcting unit to themaster manipulator by a force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the force transmitting unit; and

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit.

According to a twentieth aspect of the present invention, there isprovided an integrated electronic circuit for a control apparatus for amaster-slave robot including a slave manipulator that grips an objectand performs a task while touching an object to be worked and a mastermanipulator that causes a person to remote-control the slavemanipulator, comprising:

acquiring force information externally applied to the slave manipulatorby a force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the force information acquiring unit,by a force correction section detecting unit;

correcting the force information in the zone detected by the forcecorrection section detecting unit, by a force correcting unit;

transmitting the force information from the force correcting unit to themaster manipulator by a force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the force transmitting unit; and

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit.

According to a control apparatus and method for a master-slave robot, amaster-slave robot, a program for robot control, and an integratedelectronic circuit of the present invention, only force information inan important step of pieces of force information externally applied to aslave manipulator in a task is increased and can be transmitted to amaster manipulator. As a result, the strength or weakness of the forceduring the task is clearly transmitted to the operator. Even thoughcomponents or procedures change, the task can be easily performed for ashort period of time. Also when the operator applies an excessive forceto the master manipulator, the force information transmitted to theslave manipulator is reduced to make it possible to prevent an objectfrom being damaged.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects and features of the present invention willbecome clear from the following description taken in conjunction withthe preferred embodiments thereof with reference to the accompanyingdrawings, in which:

FIG. 1 is a block diagram of a master-slave robot in a first embodimentof the present invention;

FIG. 2 is an explanatory view of a master robot system in the firstembodiment of the present invention;

FIG. 3 is an explanatory view of a slave robot system in the firstembodiment of the present invention;

FIG. 4A is an explanatory view of a state in which a person performs atask by using a control apparatus for a master-slave robot in the firstembodiment of the present invention;

FIG. 4B is an explanatory view when the positive and negative signs of aforce sensor are reversed in FIG. 4A in the state in which a personperforms a task by using the control apparatus for the master-slaverobot in the first embodiment of the present invention;

FIG. 5A is a graph showing a relationship between a force detected at aslave manipulator (slave side) and a time to explain that a forceincreasing section is detected to increase a force in the firstembodiment of the present invention;

FIG. 5B is a graph showing a relationship between a speed detected atthe slave manipulator and a time to explain that a force increasingsection is detected to increase a force in the first embodiment of thepresent invention;

FIG. 5C is an explanatory view including a graph showing a relationshipbetween a force transmitted to the master manipulator and a time toexplain that a force increasing section is detected to increase a forcein the first embodiment of the present invention when positive andnegative directions of a force sensor are the same as those in FIG. 4A;

FIG. 5D is an explanatory view including a graph showing a relationshipbetween a force transmitted to the master manipulator and a time toexplain that a force increasing section is detected to increase a forcein the first embodiment of the present invention when the positive andnegative directions of the force sensor are the same as those in FIG.4B;

FIG. 6 is a flowchart showing a flow of processes from when forceinformation and speed information are acquired to when force correctionis performed in the first embodiment of the present invention;

FIG. 7 is a block diagram of a master-slave robot in a second embodimentof the present invention;

FIG. 8A is a graph showing a relationship between a force detected at amaster manipulator and a time to explain that a force reducing sectionis detected to reduce a force in the second embodiment of the presentinvention;

FIG. 8B is a graph showing a relationship between a speed detected at aslave manipulator and a time to explain the force reducing section isdetected to reduce a force in the second embodiment of the presentinvention;

FIG. 8C is an explanatory view including a graph showing a relationshipbetween a force transmitted to a slave manipulator and a time to explainthat the force reducing section is detected to reduce a force in thesecond embodiment of the present invention;

FIG. 9 is a flowchart showing a flow of processes from when forceinformation and speed information are acquired to when force correctionis performed in the second embodiment of the present invention;

FIG. 10A is a block diagram of a master-slave robot in a thirdembodiment of the present invention;

FIG. 10B is a block diagram of a master-slave robot in a thirdembodiment of the present invention;

FIG. 11 is a view showing a database having a detecting method in thethird embodiment of the present invention;

FIG. 12A is a graph showing a relationship between a force detected at aslave manipulator and a time to explain that a force increasing sectionis detected to increase a force in the third embodiment (when “forceinformation” is selected) of the present invention;

FIG. 12B is an explanatory view including a graph showing a relationshipbetween a force transmitted to a master manipulator and a time toexplain that the force increasing section is detected to increase aforce in the third embodiment (when “force information” is selected) ofthe present invention;

FIG. 13A is an explanatory view including a graph showing a relationshipbetween a force detected at a master manipulator and a time to explainthat a force reducing section is detected to reduce a force in the thirdembodiment (when “force information” is selected) of the presentinvention;

FIG. 13B is an explanatory view including a graph showing a relationshipbetween a force transmitted to a slave manipulator and a time to explainthat a force reducing section is detected to reduce a force in the thirdembodiment (when “force information” is selected) of the presentinvention;

FIG. 14A is a graph showing a relationship between a force detected at aslave manipulator and a time to explain that a force increasing sectionis detected to increase a force in the third embodiment (when “speedinformation” is selected) of the present invention;

FIG. 14B is a graph showing a relationship between a speed detected at aslave manipulator and a time to explain that a force increasing sectionis detected to increase a force in the third embodiment (when “speedinformation” is selected) of the present invention;

FIG. 14C is an explanatory view including a graph showing a relationshipbetween a force transmitted to a master manipulator and a time toexplain that the force increasing section is detected to increase aforce in the third embodiment (when “speed information” is selected) ofthe present invention;

FIG. 15A is a graph showing a relationship between a force detected at amaster manipulator and a time to explain that a force reducing sectionis detected to reduce a force in the third embodiment (when “speedinformation” is selected) of the present invention;

FIG. 15B is a graph showing a relationship between a speed detected at aslave manipulator and a time to explain that the force reducing sectionis detected to reduce a force in the third embodiment (when “speedinformation” is selected) of the present invention;

FIG. 15C is an explanatory view including a graph showing a relationshipbetween a force transmitted to a slave manipulator and a time to explainthat the force reducing section is detected to reduce a force in thethird embodiment (when “speed information” is selected) of the presentinvention;

FIG. 16A is a graph showing a relationship between a force detected at aslave manipulator and a time to explain that a force increasing sectionis detected to increase a force in the third embodiment (when a“reference” is selected) of the present invention;

FIG. 16B is a graph showing a relationship between a reference (force)detected at a slave manipulator and a time to explain that the forceincreasing section is detected to increase a force in the thirdembodiment (when the “reference” is selected) of the present invention;

FIG. 16C is a graph showing a relationship between a reference (speed)detected at a slave manipulator and a time to explain that the forceincreasing section is detected to increase a force in the thirdembodiment (when the “reference” is selected) of the present invention;

FIG. 16D is an explanatory view showing a graph showing a relationshipbetween a force transmitted to a master manipulator and a time toexplain that a force increasing section is detected to increase a forcein the third embodiment (when the “reference” is selected) of thepresent invention;

FIG. 17A is a graph showing a relationship between a force detected at amaster manipulator and a time to explain that a force reducing sectionis detected to reduce a force in the third embodiment (when the“reference” is selected) of the present invention;

FIG. 17B is a graph showing a relationship between a reference (force)detected at a master manipulator and a time to explain that a forcereducing section is detected to reduce a force in the third embodiment(when the “reference” is selected) of the present invention;

FIG. 17C is a graph showing a relationship between a reference (speed)detected at a master manipulator and a time to explain that the forcereducing section is detected to reduce a force in the third embodiment(when the “reference” is selected) of the present invention;

FIG. 17D is an explanatory view including a graph showing a relationshipbetween a force transmitted to a slave manipulator and a time to explainthat a force reducing section is detected to reduce a force in the thirdembodiment (when the “reference” is selected) of the present invention;

FIG. 18 is a view showing a database having a reference in the thirdembodiment (when the “reference” is detected) of the present invention;

FIG. 19 is a flowchart showing a flow of processes from when forceinformation and speed information are acquired to when force correctionis performed in the third embodiment of the present invention;

FIG. 20A is a block diagram of a master-slave robot in the fourthembodiment of the present invention;

FIG. 20B is a block diagram of a master-slave robot in the fourthembodiment of the present invention;

FIG. 21 is an explanatory view showing an object grip position in thefourth embodiment (when “object grip position information” is selected)of the present invention;

FIG. 22A is a block diagram of a master-slave robot in the fourthembodiment (when the “object grip position information” is selected) ofthe present invention;

FIG. 22B is a block diagram of the master-slave robot in the fourthembodiment (when the “object grip position information” is selected) ofthe present invention;

FIG. 23 is a view showing a database having a correction amount in thefourth embodiment (when the “object grip position information” isselected) of the present invention;

FIG. 24A is an explanatory view showing a method of measuring a bucklingload of a flexible board in the fourth embodiment (when “objectflexibility information” is selected) of the present invention;

FIG. 24B is an explanatory view showing the method of measuring abuckling load of a flexible board in the fourth embodiment (when the“object flexibility information” is selected) of the present invention;

FIG. 24C is an explanatory view showing the method of measuring abuckling load of a flexible board in the fourth embodiment (when the“object flexibility information” is selected) of the present invention;

FIG. 24D is an explanatory view showing a method of measuring a bucklingload of a screw in the fourth embodiment (when the “object flexibilityinformation” is selected) of the present invention;

FIG. 24E is an explanatory view showing the method of measuring abuckling load of a screw in the fourth embodiment (when the “objectflexibility information” is selected) of the present invention;

FIG. 24F is an explanatory view showing the method of measuring abuckling load of a screw in the fourth embodiment (when the “objectflexibility information” is selected) of the present invention;

FIG. 25 is a view showing a database having a correction amount in thefourth embodiment (when the “object flexibility information” isselected) of the present invention;

FIG. 26A is an explanatory view showing a master grip position in thefourth embodiment (when “master grip position information” is selected)of the present invention;

FIG. 26B is an explanatory view showing the master grip position in thefourth embodiment (when the “master grip position information” isselected) of the present invention;

FIG. 27 is a view showing a database having a correction amount in thefourth embodiment (when the “master grip position information” isselected) of the present invention;

FIG. 28 is a flowchart showing a flow of processes from when forceinformation and speed information are acquired to when force correctionis performed in the fourth embodiment of the present invention;

FIG. 29A is a view showing a grip position of a flexible board of amanipulator and an inserting procedure in an inserting experiment of aconventional flexible board into a connector;

FIG. 29B is a view showing a grip position of a flexible board of amanipulator and an inserting procedure in an inserting experiment of aconventional flexible board into a connector;

FIG. 29C is a view showing a grip position of a flexible board of amanipulator and an inserting procedure in an inserting experiment of aconventional flexible board into a connector,

FIG. 30 is an explanatory view showing an experiment result of a gripposition of 5 mm in an inserting experiment of a conventional flexibleboard into a connector; and

FIG. 31 is an explanatory view showing an experiment result of a gripposition of 10 mm in an inserting experiment of a conventional flexibleboard into a connector.

DETAILED DESCRIPTION

Embodiments of the present invention will be described below in detailwith reference to the accompanying drawings.

Various modes of the present invention will be described below beforethe embodiments of the present invention will be described in detailwith reference to the accompanying drawings.

According to a first aspect of the present invention, there is provideda control apparatus for a master-slave robot having a slave manipulatorthat grips an object and performs a task while touching an object to beworked and a master manipulator that causes a person to remote-controlthe slave manipulator, comprising:

a force information acquiring unit that acquires force informationexternally applied to the slave manipulator;

a force correction section detecting unit that detects a forcecorrection section serving as information of a zone that is required tobe corrected in the force information on basis of the force informationacquired by the force information acquiring unit;

a force correcting unit that corrects the force information in the zonedetected by the force correction section detecting unit;

a force transmitting unit that transmits the force information from theforce correcting unit to the master manipulator;

a master control unit that controls manipulation information of themaster manipulator when the person manipulates the master manipulator onbasis of the force information from the force transmitting unit; and

a slave control unit that is connected to the slave manipulator and themaster control unit and outputs a control signal transmitting themanipulation information of the master manipulator sent from the mastercontrol unit to the slave manipulator,

the control apparatus further comprising a speed information acquiringunit that acquires speed information of a hand of the slave manipulator,

wherein the force correction section detecting unit detects a zone inwhich the force information is corrected, from the speed informationacquired by the speed information acquiring unit.

According to a second aspect of the present invention, there is provideda control apparatus for a master-slave robot having:

a slave manipulator that grips an object and performs a task whiletouching an object to be worked, and

a master manipulator that causes a person to remote-control the slavemanipulator, comprising:

a master force information acquiring unit that acquires forceinformation applied to the master manipulator by the person;

a slave force correction section detecting unit that detects a forcecorrection section serving as information of a zone that is required tobe corrected in the force information on basis of the force informationacquired by the master force information acquiring unit;

a slave force correcting unit that corrects the force information in thezone detected by the slave force correction section detecting unit;

a slave force transmitting unit that transmits the force informationfrom the slave force correcting unit to the slave manipulator;

a master control unit that controls manipulation information of themaster manipulator when the person manipulates the master manipulator onbasis of the force information from the slave force transmitting unit;and

a slave control unit that is connected to the slave manipulator and themaster control unit and outputs a control signal transmitting themanipulation information of the master manipulator sent from the mastercontrol unit to the slave manipulator.

According to a third aspect of the present invention, there is providedthe control apparatus for a master-slave robot according to the first orsecond aspect, wherein a zone from a force correction start time to aforce correction end time is defined as the force correction section,and the force information in the zone is represented by a curve or astraight line changing in a form of a chevron in a relationship betweentime and force.

According to a fourth aspect of the present invention, there is providedthe control apparatus for a master-slave robot according to the firstaspect, wherein

the force correction section detecting unit detects the force correctionposition serving as any one of force information in a zone in which anabsolute value of the force information is corrected so as to beincreased and force information in a zone in which the force informationis not corrected, from the force information acquired by the forceinformation acquiring unit, and

the force correcting unit corrects the force information so as toincrease the absolute value of the force information detected by theforce correction section detecting unit in the zone in which theabsolute value is increased.

According to a fifth aspect of the present invention, there is providedthe control apparatus for a master-slave robot according to the secondaspect, wherein

the slave force correction section detecting unit detects the forcecorrection position serving as any one of force information in a zone inwhich an absolute value of the force information is corrected so as tobe reduced and force information in a zone in which the forceinformation is not corrected, from the force information acquired by themaster force information acquiring unit, and

the slave force correcting unit corrects the force information so as toreduce the absolute value of the force information in the zone in whichthe absolute value is reduced, detected by the slave force correctionsection detecting unit.

According to a sixth aspect of the present invention, there is providedthe control apparatus for a master-slave robot according to the firstaspect, further comprising a speed information acquiring unit thatacquires speed information of a hand of the slave manipulator, wherein

the force correction section detecting unit detects a zone in which theforce information is corrected, from the speed information acquired bythe speed information acquiring unit.

According to a seventh aspect of the present invention, there isprovided the control apparatus for a master-slave robot according to thesecond aspect, further comprising a speed information acquiring unitthat acquires speed information of a hand of the slave manipulator,wherein

the slave force correction section detecting unit detects a zone inwhich the force information is corrected, from the speed informationacquired by the speed information acquiring unit.

According to an eighth aspect of the present invention, there isprovided the control apparatus for a master-slave robot according to thesixth or seventh aspect, further comprising a detecting method selectingunit that selects any one of the “force information and speedinformation”, the “force information”, the “speed information”, and“stored force information and speed information” when the forcecorrection section is detected in the force correction section detectingunit or the slave force correction section detecting unit, wherein

on basis of the information selected by the detecting method selectingunit, the force correction section is detected by the force correctionsection detecting unit or the slave force correction section detectingunit.

According to a ninth aspect of the present invention, there is providedthe control apparatus for a master-slave robot according to the eighthaspect, wherein

the force correction section detecting unit or the slave forcecorrection section detecting unit,

when the “force information and speed information” is selected in thedetecting method selecting unit,

sets a time at which a displacement of the speed information acquired bythe speed information acquiring unit exceeds a first threshold value, asforce correction start time,

sets a time at which a displacement of the force information acquired bythe force information acquiring unit is lower than a second thresholdvalue, as force correction end time, and

detects a zone from the force correction start time to the forcecorrection end time as the force correction section.

According to a tenth aspect of the present invention, there is providedthe control apparatus for a master-slave robot according to the eighthaspect, wherein

the force correction section detecting unit or the slave forcecorrection section detecting unit,

when the “force information” is selected in the detecting methodselecting unit,

sets a time at which a displacement of the force information acquired bythe force information acquiring unit exceeds a first threshold value, asforce correction start time,

sets a time at which the displacement of the force information acquiredby the force information acquiring unit is lower than a second thresholdvalue, as force correction end time, and

detects a zone from the force correction start time to the forcecorrection end time as the force correction section.

According to an eleventh aspect of the present invention, there isprovided the control apparatus for a master-slave robot according to theeighth aspect, wherein

the force correction section detecting unit or the slave forcecorrection section detecting unit,

when the “speed information” is selected in the detecting methodselecting unit,

sets a time at which a displacement of the speed information acquired bythe speed information acquiring unit exceeds a first threshold value, asforce correction start time,

sets a time at which a displacement of the speed information acquired bythe speed information acquiring unit is lower than a second thresholdvalue, as force correction end time, and

detects a zone from the force correction start time to the forcecorrection end time as the force correction section.

According to a twelfth aspect of the present invention, there isprovided the control apparatus for a master-slave robot according to theeighth aspect, further comprising a storing unit that stores forceinformation and speed information in advance, wherein

the force correction section detecting unit or the slave forcecorrection section detecting unit,

when the “stored force information and speed information” is selected inthe detecting method selecting unit,

sets, as force correction start time, a time at which a displacement ofthe force information or the speed information acquired by the forceinformation acquiring unit or the speed information acquiring unit fallswithin a range of a certain threshold value with reference to adisplacement of the force information or the speed information obtainedwhen a displacement of the force information or the speed informationstored in the storing unit exceeds the first threshold value,

sets, as force correction end time, a time at which the displacement ofthe force information or the speed information acquired by the forceinformation acquiring unit or the speed information acquiring unit fallswithin a range of a certain threshold value with reference to thedisplacement of the force information or the speed information obtainedwhen the displacement of the force information or the speed informationstored in the storing unit is lower than the second threshold value, and

detects a zone from the force correction start time to the forcecorrection end time as the force correction section.

According to a thirteenth aspect of the present invention, there isprovided the control apparatus for a master-slave robot according to thefirst or second aspect, further comprising a force correcting methodselecting unit that selects any one of “object grip positioninformation”, “object flexibility information”, and “master gripposition information” when a force is corrected in the force correctingunit or the slave force correcting unit, wherein

the force correcting unit or the slave force correcting unit correctsthe force information by the force correcting method selected by theforce correcting method selecting unit.

According to an aspect of the present invention, there is provided thecontrol apparatus for a master-slave robot according to the sixth orseventh aspect, the control apparatus further comprising a forcecorrecting method selecting unit that selects any one of “object gripposition information”, “object flexibility information”, and “mastergrip position information” when a force is corrected in the forcecorrecting unit or the slave force correcting unit,

wherein the force correcting unit or the slave force correcting unitcorrects the force information by the force correcting method selectedby the force correcting method selecting unit.

According to a fourteenth aspect of the present invention, there isprovided the control apparatus for a master-slave robot according to thethirteenth aspect, further comprising an object grip position acquiringunit that acquires position information for which the slave manipulatorgrips the object and

a correction amount storing unit that stores relationship informationbetween the position information for which the slave manipulator gripsthe object and a correction amount, wherein

the force correcting unit or the slave force correcting unit,

when the “object grip position information” is selected in the forcecorrecting method selecting unit,

causes the object grip position acquiring unit to acquire grip positioninformation for which the slave manipulator grips the object and

determines a correction amount of the force information from thecorrection amount storing unit by using the grip position informationacquired by the object grip position acquiring unit.

According to a fifteenth aspect of the present invention, there isprovided the control apparatus for a master-slave robot according to thethirteenth aspect, further comprising a correction amount storing unitthat stores relationship information between flexibility information ofthe object and a correction amount, wherein

the force correcting unit or the slave force correcting unit,

when the “object flexibility information” is selected in the forcecorrecting method selecting unit,

acquires flexibility information of the object based on the object fromthe correction amount storing unit and

calculates a correction amount of the force information from thecorrection amount storing unit by using the flexibility information.

According to a sixteenth aspect of the present invention, there isprovided the control apparatus for a master-slave robot according to thethirteenth aspect, further comprising a master grip position acquiringunit that acquires position information for which the person grips themaster manipulator, and

a correction amount storing unit that stores relationship informationbetween the position information for which the person grips the mastermanipulator and a correction amount, wherein

the force correcting unit or the slave force correcting unit,

when the “master grip position information” is selected in the forcecorrecting method selecting unit,

acquires the position information for which the person grips the mastermanipulator in the master grip position information acquiring unit, and

calculates a correction amount of the force information from thecorrection amount storing unit by using the position informationacquired from the master grip position information acquiring unit.

According to a seventeenth aspect of the present invention, there isprovided a control method for a control apparatus for a master-slaverobot including a slave manipulator that grips an object and performs atask while touching an object to be worked and a master manipulator thatcauses a person to remote-control the slave manipulator, comprising:

acquiring force information externally applied to the slave manipulatorby a force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the force information acquiring unit,by a force correction section detecting unit;

correcting the force information in the zone detected by the forcecorrection section detecting unit, by a force correcting unit;

transmitting the force information from the force correcting unit to themaster manipulator by a force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the force transmitting unit; and

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit.

According to an aspect of the present invention, there is provided acontrol method for a control apparatus for a master-slave robotincluding a slave manipulator that grips an object and performs a taskwhile touching an object to be worked, and a master manipulator thatcauses a person to remote-control the slave manipulator, comprising:

acquiring force information applied to the master manipulator by theperson by a master force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the master force information acquiringunit, by a slave force correction section detecting unit;

correcting the force information in the zone detected by the slave forcecorrection section detecting unit, by a slave force correcting unit;

transmitting the force information from the slave force correcting unitto the slave manipulator by a slave force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the slave force transmittingunit;

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit; and

acquiring speed information of a hand of the slave manipulator by aspeed information acquiring unit,

wherein the slave force correction section detecting unit detects a zonein which the force information is corrected, from the speed informationacquired by the speed information acquiring unit.

According to an eighteenth aspect of the present invention, there isprovided a master-slave robot comprising the master manipulator, theslave manipulator, and the control apparatus for a master-slave robotaccording to any one of the first to sixteenth aspects.

According to a nineteenth aspect of the present invention, there isprovided a control program for a control apparatus for a master-slaverobot including a slave manipulator that grips an object and performs atask while touching an object to be worked and a master manipulator thatcauses a person to remote-control the slave manipulator,

causing a computer to execute steps of:

acquiring force information externally applied to the slave manipulatorby a force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the force information acquiring unit,by a force correction section detecting unit;

correcting the force information in the zone detected by the forcecorrection section detecting unit, by a force correcting unit;

transmitting the force information from the force correcting unit to themaster manipulator by a force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the force transmitting unit; and

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit.

According to a twentieth aspect of the present invention, there isprovided the control program for a control apparatus according to thenineteenth aspect,

further comprising acquiring speed information of a hand of the slavemanipulator by a speed information acquiring unit,

wherein the force correction section detecting unit detects a zone inwhich the force information is corrected, from the speed informationacquired by the speed information acquiring unit.

According to an aspect of the present invention, there is provided acontrol program for a control apparatus for a master-slave robotincluding a slave manipulator that grips an object and performs a taskwhile touching an object to be worked, and a master manipulator thatcauses a person to remote-control the slave manipulator, comprising:

causing a computer to execute steps of:

acquiring force information applied to the master manipulator by theperson by a master force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the master force information acquiringunit, by a slave force correction section detecting unit;

correcting the force information in the zone detected by the slave forcecorrection section detecting unit, by a slave force correcting unit;

transmitting the force information from the slave force correcting unitto the slave manipulator by a slave force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the slave force transmittingunit;

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit; and

acquiring speed information of a hand of the slave manipulator by aspeed information acquiring unit,

wherein the slave force correction section detecting unit detects a zonein which the force information is corrected, from the speed informationacquired by the speed information acquiring unit.

According to an aspect of the present invention, there is provided amaster-slave robot comprising the master manipulator, the slavemanipulator, and the control apparatus for a master-slave robotaccording to the above aspect.

According to an aspect of the present invention, there is provided anintegrated electronic circuit for a control apparatus for a master-slaverobot including a slave manipulator that grips an object and performs atask while touching an object to be worked and a master manipulator thatcauses a person to remote-control the slave manipulator, comprising:

acquiring force information externally applied to the slave manipulatorby a force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the force information acquiring unit,by a force correction section detecting unit;

correcting the force information in the zone detected by the forcecorrection section detecting unit, by a force correcting unit;

transmitting the force information from the force correcting unit to themaster manipulator by a force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the force transmitting unit;

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit; and

acquiring speed information of a hand of the slave manipulator by aspeed information acquiring unit,

wherein the force correction section detecting unit detects a zone inwhich the force information is corrected, from the speed informationacquired by the speed information acquiring unit.

According to an aspect of the present invention, there is provided anintegrated electronic circuit for a control apparatus for a master-slaverobot including a slave manipulator that grips an object and performs atask while touching an object to be worked, and a master manipulatorthat causes a person to remote-control the slave manipulator,comprising:

acquiring force information applied to the master manipulator by theperson by a master force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the master force information acquiringunit, by a slave force correction section detecting unit;

correcting the force information in the zone detected by the slave forcecorrection section detecting unit, by a slave force correcting unit;

transmitting the force information from the slave force correcting unitto the slave manipulator by a slave force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the slave force transmittingunit;

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit; and

acquiring speed information of a hand of the slave manipulator by aspeed information acquiring unit,

wherein the slave force correction section detecting unit detects a zonein which the force information is corrected, from the speed informationacquired by the speed information acquiring unit.

According to a twentieth aspect of the present invention, there isprovided an integrated electronic circuit for a control apparatus for amaster-slave robot including a slave manipulator that grips an objectand performs a task while touching an object to be worked and a mastermanipulator that causes a person to remote-control the slavemanipulator, comprising:

acquiring force information externally applied to the slave manipulatorby a force information acquiring unit;

detecting a force correction section serving as information of a zonethat is required to be corrected in the force information, on basis ofthe force information acquired by the force information acquiring unit,by a force correction section detecting unit;

correcting the force information in the zone detected by the forcecorrection section detecting unit, by a force correcting unit;

transmitting the force information from the force correcting unit to themaster manipulator by a force transmitting unit;

controlling manipulation information of the master manipulator by amaster control unit when the person manipulates the master manipulatoron basis of the force information from the force transmitting unit; and

outputting a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator, by a slave control unit connected to the slave manipulatorand the master control unit.

Embodiments of the present invention will be described below withreference to the accompanying drawings.

First Embodiment

FIG. 1 is a block diagram showing a control apparatus 100 of amaster-slave robot 150 in the first embodiment of the present invention.In FIG. 1, the control apparatus 100 of the master-slave robot includesa master robot system 1 to be manipulated by a person directly touchingthe master-slave robot system and a slave robot system 21 that actuallyperforms a task.

The master robot system 1 includes a master control device 3, a masterperipheral device 6 connected to the master control device 3, and amaster manipulator 9 connected to the master peripheral device 6.

The master control device 3 includes a master control unit 4 connectedto a master input/output IF 7 and a force transmitting unit 5 that isconnected to the master control unit 4 to transmit force information tothe person.

The master peripheral device 6 includes the master input/output IF 7connected to the master control unit 4 and connected to the mastermanipulator 9, and a master motor driver 8 connected to the masterinput/output IF 7 and connected to the master manipulator 9.

On the other hand, the slave robot system 21 includes a slave controldevice 23, a slave peripheral device 29 connected to the slave controldevice 23, and a slave manipulator 32 connected to the slave peripheraldevice 29.

The slave control device 23 includes a slave control unit 24, a forceinformation acquiring unit 26 that acquires force information externallyapplied to the slave manipulator 32 at predetermined time intervals, aspeed information acquiring unit 28 that acquires speed information of ahand (slave hand 71) of the slave manipulator 32, a force correctionposition detecting unit 27 that detects a section (zone) in which forceinformation is corrected on the basis of at least one of the forceinformation acquired by the force information acquiring unit 26 and thespeed information acquired by the speed information acquiring unit 28(more specifically, a force correction section serving as information ofa zone that is required to be corrected in the force information isdetected on the basis of the force information acquired by the forceinformation acquiring unit 26), and a force correcting unit 25 thatcorrects the force information detected as a force correction section(force correction zone) by the force correction section detecting unit27. The slave control unit 24 is connected to the master control unit 4with a cable or a wireless system and connected to the force correctingunit 25, the force correction section detecting unit 27, and a slaveinput/output IF 30. The force correcting unit 25 is connected to theslave control unit 24 and the force information acquiring unit 26. Theforce information acquiring unit 26 is connected to the force correctingunit 25 and the force correction section detecting unit 27. The forcecorrection section detecting unit 27 is connected to the forceinformation acquiring unit 26, the slave control unit 24, and the speedinformation acquiring unit 28. The speed information acquiring unit 28is connected to the force correction section detecting unit 27.

The slave peripheral device 29 includes the slave input/output IF 30connected to the slave control unit 24, the speed information acquiringunit 28, and the slave manipulator 32 and a slave motor driver 31connected to the slave input/output IF 30 and connected to the slavemanipulator 32.

Here, the force information acquiring unit 26 acquires, as forceinformation, a value of a slave force sensor 86 through the slaveperipheral device 29 or the like from the slave force sensor 86 attachedto a slave hand 71 of the slave manipulator 32, and the speedinformation acquiring unit 28 acquires position information of the slavemanipulator 32 through the slave peripheral device 29 or the like from aslave encoder 85 attached to the slave manipulator 32 and acquires, asspeed information, a value derived by differentiating the positioninformation with the speed information acquiring unit 28.

FIGS. 2 and 3 are views showing the master manipulator 9 and the slavemanipulator 32. Each of the manipulators 9 and 32 configures a6-degree-of-freedom multi-link manipulator such that the manipulator canbe rotated around a total of 6 axes (for details, see WO 2009/107358).

As shown in FIG. 2, the master manipulator 9 is a multi-joint robot arm,for example. More specifically, the master manipulator 9 is a6-degree-of-freedom multi-link master manipulator and includes a masterhand 51, a master forearm link 53 having a master wrist portion 52 towhich the master hand 51 is attached at a distal end 53 a, a masterupper arm link 54 having a distal end 54 a rotatably connected to aproximal end 53 b of the master forearm link 53, and a master pedestal55 that rotatably couples to and supports the proximal end 54 b of themaster upper arm link 54. Although the master pedestal 55 is fixed to apredetermined position, the master pedestal 55 may be movably connectedto a rail (not shown). The master wrist unit 52 has three rotating axesof a master fourth joint portion 59, a master fifth joint portion 60,and a master sixth joint portion 61 to make it possible to change arelative orientation (direction) of the master hand 51 with respect tothe master forearm link 53. More specifically, in FIG. 2, the masterfourth joint portion 59 can change a relative orientation of the masterhand 51 around a lateral axis with respect to the master wrist unit 52.The master fifth joint portion 60 can change a relative orientation ofthe master hand 51 with respect to the master wrist unit 52 around avertical axis orthogonal to the lateral axis of the master fourth jointportion 59. The master sixth joint portion 61 can change a relativeorientation of the master hand 51 with respect to the master wrist unit52 around a lateral axis orthogonal to the lateral axis of the masterfourth joint portion 59 and the vertical axis of the master fifth jointportion 60. Another end 53 b of the master forearm link 53 can berotated around a master third joint portion 58 with respect to thedistal end 54 a of the master upper arm link 54, i.e., around a lateralaxis parallel to the lateral axis of the master fourth joint portion 59.The other end of the master upper arm link 54 can be rotated around amaster second joint portion 57 with respect to the master pedestal 55,i.e., around a lateral axis parallel to the lateral axis of the masterfourth joint portion 59. Furthermore, an upper movable portion 55 a ofthe master pedestal 55 can be rotated around a master first jointportion 56 with respect to a lower fixed portion 55 b of the masterpedestal 55, i.e., around a vertical axis parallel to the vertical axisof the master fifth joint portion 60.

As a result, the master manipulator 9 can be rotated around a total of 6axes to configure the 6-degree-of-freedom multi-link manipulator.

Each joint portion configuring a rotating portion of each axis includesa rotational drive device such as a master motor 64 for driving a jointportion, and a master encoder 65 (actually, arranged inside each jointportion of the master manipulator 9) that detects a rotational phaseangle (i.e., a joint angle) of a rotating shaft of the master motor 64to output position information. The master motor 64 (actually, arrangedinside each of the joint portions of the master manipulator 9) is drivenand controlled by a master motor driver 8 arranged in one member of onepair of members (for example, a rotating-side member and a support-sidemember that supports the rotating-side member) configuring each of thejoint portions. The rotating shaft of the master motor 64 arranged inone of the members of each of the joint portions is coupled to the othermember of the joint portion, and the rotating shaft is rotated inforward and backward directions to make it possible to rotate the othermember around the axes with respect to one member.

As an example of a master hand drive device driven and controlled by themaster motor driver 8, the master motor 64 for driving the master hand,and the master encoder 65 that detects a rotational phase angle of therotating shaft of the master motor 64 for driving the master hand arefurther included in the master hand 51. Rotational angle informationdetected by the master encoder 65 is taken in the master control unit 4through the master input/output IF 7 (for example, a counter board). Onthe basis of the rotational angle information taken in the mastercontrol unit 4, the master control unit 4 calculates a control commandvalue (control signal) in an opening/closing operation of the masterhand 51. The control command value calculated by the master control unit4 is given through the master input/output IF 7 (for example, a D/Aboard) to the master motor driver 8 that also performs opening/closingdrive of the master hand 51. According to each control command valuesent from the master motor driver 8, rotation of the master motor 64 isdriven and controlled, and the rotating shaft of the master motor 64 fordriving a master hand is rotated in forward and backward directions toopen/close the master hand 51, thereby performing a simulated operationfor gripping and releasing an object 102 (for example, a flexibleboard). Actually, the slave hand 71 of the slave manipulator 32 performsgripping and releasing operations of the object 102 (for example, aflexible board), and the master hand 51 directly does not perform thegripping and releasing operations of the object 102 (for example, aflexible board). Thus, the above means that the master hand 51 virtuallyor simulationally performs the gripping and releasing operations of theobject 102 (for example, a flexible board).

Reference numeral 62 denotes a master absolute coordinate system havinga relative positional relationship fixed with respect to the lower fixedportion 55 b of the master pedestal 55, and reference numeral 63 denotesa master hand coordinate system having a relative positionalrelationship fixed with respect to the master hand 51. A master originalposition O_(e) (x,y,z) of the master hand coordinate system 63 obtainedwhen viewed from the master absolute coordinate system 62 is defined asa hand position of the master manipulator 9. A point (φ, θ, φ) obtainedby expressing an orientation of the master hand coordinate system 63obtained when viewed from the master absolute coordinate system 62 witha roll angle, a pitch angle, and a yawing angle is defined as a handorientation of the master manipulator 9. A hand position and anorientation vector are defined as a vector r=[x, y, z, φ, θ, φ]^(T).Thus, as an example, a vertical axis of the master first joint portion56 can be preferably positioned to be parallel to a z axis of the masterabsolute coordinate system 62, and a lateral axis of the master secondjoint portion 57 can be preferably positioned to be parallel to an xaxis of the master absolute coordinate system 62. Furthermore, a lateralaxis of the sixth joint portion 61 can be preferably positioned to beparallel to an x axis of the master hand coordinate system 63. A lateralaxis of the master fourth joint portion 59 can be preferably arranged tobe parallel to the y axis thereof. A vertical axis of the master fifthjoint portion 60 can be preferably arranged to be parallel to the z axisthereof. Note that a rotating angle with respect to the x axis of themaster hand coordinate system 63 is defined as a yawing angle φ, arotating angle with respect to the y axis is defined as a pitch angle θ,and a rotating angle with respect to the z axis is defined as a rollangle φ. When a hand position and an orientation of the mastermanipulator 9 are controlled, the hand position and an orientationvector r are caused to track a hand position and an orientation desiredvector r_(d) generated by a desired trajectory generating unit disclosedin Published PCT International Application WO2009/107358 described aboveor the like.

In FIG. 3, the slave manipulator 32 is, as an example, a multi-jointrobot arm and a 6-degree-of-freedom slave manipulator. The slavemanipulator 32 includes the slave hand 71, a slave forearm link 73having a slave wrist unit 72 attached to the slave hand 71 at a distalend 73 a, a slave upper arm link 74 having a distal end 74 a rotatablycoupled to a proximal end 73 b of the slave forearm link 73, and a slavepedestal 75 by which a proximal end 74 b of slave upper arm link 74 isrotatably coupled to and supported. Although the slave pedestal 75 isfixed to a predetermined position, the slave pedestal 75 may be movablycoupled to a rail (not shown). The slave wrist unit 72 has threerotating axes of a slave fourth joint portion 79, a slave fifth jointportion 80, and a slave sixth joint portion 81, and can change arelative orientation (direction) of the slave hand 71 with respect tothe slave forearm link 73. More specifically, in FIG. 3, the slavefourth joint portion 79 can change a relative orientation of the slavehand 71 around a lateral axis with respect to the slave wrist unit 72.The slave fifth joint portion 80 can change a relative orientation ofthe slave hand 71 with respect to the slave wrist unit 72 around avertical axis orthogonal to the lateral axis of the slave fourth jointportion 79. The slave sixth joint portion 81 can change a relativeorientation of the slave hand 71 with respect to the slave wrist unit 72around a lateral axis orthogonal to the lateral axis of the slave fourthjoint portion 79 and the vertical axis of the slave fifth joint portion80. Another end 73 b of the slave forearm link 73 can be rotated arounda slave third joint portion 78 with respect to the distal end 74 a ofthe slave upper arm link 74, i.e., around a lateral axis parallel to thelateral axis of the slave fourth joint portion 79. The other end 74 b ofthe slave upper arm link 74 can be rotated around a slave second jointportion 77 with respect to the slave pedestal 75, i.e., a lateral axisparallel to the lateral axis of the slave fourth joint portion 79.Furthermore, an upper movable portion 75 a of the slave pedestal 75 canbe rotated around a slave first joint portion 76 with respect to a lowerfixed portion 75 b of the slave pedestal 75, i.e., around a verticalaxis parallel to the vertical axis of the slave fifth joint portion 80.

As a result, the slave manipulator 32 can be rotated around a total ofsix axes to configure the 6-degree-of-freedom multi-link manipulator.

Each joint portion configuring a rotating portion of each axis includesa rotational drive device such as a slave motor 84, and the slaveencoder 85 (actually, arranged inside each joint portion of the slavemanipulator 32) that detects a rotational phase angle (i.e., a jointangle) of a rotating shaft of the slave motor 84 to output positioninformation. The slave motor 84 (actually, arranged inside each of thejoint portions of the slave manipulator 32) is driven and controlled bythe slave motor driver 31 arranged in one member of one pair of members(for example, a rotating-side member and a support-side member thatsupports the rotating-side member) configuring each of the jointportions. A rotating shaft of the slave motor 84 arranged in one of themembers of each of the joint portions is coupled to the other member ofthe joint portion, and the rotating shaft is rotated in forward andbackward directions to make it possible to rotate the other memberaround the axes with respect to one member.

As an example of a slave hand drive device driven and controlled by theslave motor driver 31, the slave motor 84 for driving the slave hand andthe slave encoder 85 that detects a rotational phase angle of therotating shaft of the master motor 84 for driving the slave hand arefurther included in the slave hand 71. Rotational angle informationdetected by the slave encoder 85 is taken in the slave control unit 24through the slave input/output IF 30 (for example, a counter board). Onthe basis of the rotational angle information taken in the slave controlunit 24, the slave control unit 24 calculates a control command value(control signal) in an opening/closing operation of the slave hand 71.The control command value calculated by the slave control unit 24 isgiven through the slave input/output IF 30 (for example, a D/A board) tothe slave motor driver 31 that also performs opening/closing drive ofthe slave hand 71. In accordance with each control command value sentfrom the slave motor driver 31, rotation of the slave motor 84 is drivenand controlled, and the rotating shaft of the slave motor 84 for drivinga slave hand is rotated in forward and backward directions to open/closethe slave hand 71, thereby performing an operation for gripping andreleasing the object 102 (for example, a flexible board).

Reference numeral 82 denotes a slave absolute coordinate system having arelative positional relationship fixed with respect to the lower fixedportion 75 b of the slave pedestal 75, and reference numeral 83 denotesa slave hand coordinate system having a relative positional relationshipfixed with respect to the slave hand 71. A slave original position O_(e)(x,y,z) of the slave hand coordinate system 83 obtained when viewed fromthe slave absolute coordinate system 82 is defined as a hand position ofthe slave manipulator 32. A point (φ, θ, φ) obtained by expressing anorientation of the slave hand coordinate system 83 obtained when viewedfrom the slave absolute coordinate system 82 with a roll angle, a pitchangle, and a yawing angle is defined as a hand orientation of the slavemanipulator 32. A hand position and an orientation vector are defined asa vector r=[x, y, z, φ, θ, φ]^(T). Thus, as an example, a vertical axisof the slave first joint portion 76 can be preferably positioned to beparallel to a z axis of the slave absolute coordinate system 82, and alateral axis of the slave second joint portion 77 can be preferablypositioned to be parallel to an x axis of the slave absolute coordinatesystem 82. Furthermore, a lateral axis of the sixth joint portion 81 canbe preferably positioned to be parallel to an x axis of the slave handcoordinate system 83, a lateral axis of the slave fourth joint portion79 can be preferably arranged to be parallel to the y axis thereof, anda vertical axis of the slave fifth joint portion 80 can be preferablyarranged to be parallel to the z axis thereof. A rotating angle withrespect to the x axis of the slave hand coordinate system 83 is definedas a yawing angle θ, a rotating angle with respect to the y axis isdefined as a pitch angle θ, and a rotating angle with respect to the zaxis is defined as a roll angle φ. When a hand position and anorientation of the slave manipulator 32 are controlled, the handposition and an orientation vector r are caused to track a hand positionand an orientation desired vector r_(d) generated by a desiredtrajectory generating unit disclosed in Published PCT InternationalApplication WO2009/107358 described above or the like.

The control apparatus 100 for a master-slave robot is an entireapparatus in the embodiment of the present invention and an apparatusthat can be remote-controlled by a person in a task. The master robotsystem 1 is a robot system to be manipulated by a person such that theperson directly touches the robot system. The slave robot system 21 isseparated from the master robot system 1, and is a robot system toperform an actual task (for example, a task to be performed whilegripping the object 102 with a robot and causing the object 102 tocontact a target object 103).

The master manipulator 9 is a robot that is directly touched andmanipulated by a person. When the person operates the master manipulator9, by using a timer built in the master input/output IF 7, at certainpredetermined time intervals (for example, every 1 ms), positioninformation of the master manipulator 9 is acquired from each of themaster encoders 65 and outputted to the master input/output IF 7.

The slave manipulator 32 is a robot that grips the object 102 (forexample, a flexible board) to perform a task (for example, inserting orattaching task) to the target object 103 (for example, the target object103 held by a holding member (not shown)) (for example, a connectorhaving a recessed portion into which one end portion of the flexibleboard should be inserted), and operates the slave manipulator 32 totrack the position information acquired by the master manipulator 9 (seeFIG. 4A).

The master peripheral device 6 transmits information between the mastermanipulator 9 and the master control device 3. As in the slaveperipheral device 29, information is transmitted between the slavemanipulator 32 and the slave control device 23.

The master input/output IF 7 outputs the position information input fromeach of the master encoders 65 of the master manipulator 9 to the masterinput/output IF 7 and time information from a timer built in the masterinput/output IF 7 to the master control unit 4. The master input/outputIF 7 outputs the position information input from the master control unit4 to the master input/output IF 7 to the master motor driver 8. Themaster motor driver 8 operates the master motors 64 of the mastermanipulator 9 such that the master manipulator 9 tracks the positioninformation input from the master input/output IF 7 to the master motordriver 8.

The slave input/output IF 30 outputs the position information input fromthe slave control unit 23 to the slave input/output IF 30 to the slavemotor driver 31. The position information and the time information inputfrom the slave manipulator 32 to the slave input/output IF 30 areoutputted from the slave input/output IF 30 to the slave control unit24. The slave motor driver 31 operates the slave motors 84 of the slavemanipulator 32 such that the slave manipulator 32 tracks the positioninformation input from the slave input/output IF 30 to the slave motordriver 31.

The master control device 3 has two roles, i.e., (i) outputting positioninformation obtained by moving the master manipulator 9 to the slavecontrol device 23 by using the timer built in the master input/output IF7 at certain predetermined time intervals through the masterinput/output IF 7 and the master control device 3, and (ii) transmittingforce information inputted from the slave control device 23 to themaster control device 3, to a person.

The master control unit 4 controls manipulation information of themaster manipulator 9 when a person manipulates the master manipulator 9on the basis of the force information from the force transmitting unit5. More specifically, the master control unit 4 outputs the positioninformation of the master manipulator 9 and the time informationinputted from the master input/output IF 7 to the master control unit 4,to the slave control unit 24. The force information input from the slavecontrol unit 24 to the master control unit 4 is output from the mastercontrol unit 4 to the force transmitting unit 5.

The force transmitting unit 5 transmits the force information inputtedfrom the slave control unit 24 through the master control unit 4, to thehuman hand 101. In the method of transmitting a force to the human hand101, the force information is converted into position information by theforce transmitting unit 5 using Hooke's law (for example, a springconstant is set to 0.5), the position information calculated by theforce transmitting unit 5 is output as a command value from the forcetransmitting unit 5 to the master manipulator 9 through the mastercontrol unit 4, the master peripheral device 6, and the like, and themaster motor 64 is operated to realize transmission of the force. Theforce transmitting unit 5 transmits the force information from the forcecorrecting unit 25, to the master manipulator 9 in relation to the forcecorrecting unit 25.

The slave control device 23 has two roles, i.e., (i) causing the slavemanipulator 32 to track the position information and the timeinformation input from the master control device 3 to the slave controldevice 23, and (ii) detecting a force correction section (forcecorrection zone) on the basis of the force information and the speedinformation acquired by the slave manipulator 32 and performing forcecorrection to only the detected force correction section (forcecorrection zone), thus outputting the force information to the mastercontrol device 3.

The force information acquiring unit 26 acquires a value of the slaveforce sensor 86 (see FIG. 3) attached to the slave hand 71 of the slavemanipulator 32 as force information through the slave input/output IF 30by using a timer built in the slave input/output IF 30 through the slaveinput/output IF 30 at certain predetermined time intervals. The acquiredforce information is outputted to the force correcting unit 25 and theforce correction section detecting unit 27.

The speed information acquiring unit 28 acquires speed information ofthe hand of the slave manipulator 32. In the acquiring method, theposition information obtained by the slave encoder 85 (see FIG. 3) isacquired at certain predetermined time intervals on the basis of thetime information from a timer built in the speed information acquiringunit 28, position information obtained a predetermined time before issubtracted from present position information stored in the speedinformation acquiring unit 28, and the resulting value is divided by acertain predetermined time. The obtained value is defined as speedinformation. The speed information acquired by the speed informationacquiring unit 28 is outputted from the speed information acquiring unit28 to the force correction section detecting unit 27.

The force correction section detecting unit 27 detects a forcecorrection section (force correction zone) in the force information byusing the force information input from the force information acquiringunit 26 to the force correction section detecting unit 27 and the speedinformation input from the speed information acquiring unit 28 to theforce correction section detecting unit 27, and outputs the detectedforce information from the force correction section detecting unit 27 tothe slave control unit 24.

A method of detecting a force correction section (force correction zone)will be described below with reference to FIGS. 4A to 5C. A task shownin FIG. 4A is a task of inserting a distal end 102 a of the object 102into a recessed portion 103 a of the target object 103. When the humanhand 101 directly touches the master manipulator 9 to manipulate theslave manipulator 32 that grips the object 102 with the slave hand 71,the inserting task is performed while the object 102 gripped with theslave hand 71 contacts the target object 103.

FIG. 5A is a graph showing a relationship between force detected by theslave manipulator 32 and time, and shows force information acquired bythe force information acquiring unit 26. FIG. 5B is a graph showing arelationship between a speed detected by the slave manipulator 32 and atime, and shows speed information acquired by the speed informationacquiring unit 28. FIG. 5C is a graph showing a relationship between theforce transmitted to the master manipulator 9 and time, and shows forceinformation transmitted to the master manipulator 9 after the forcecorrection. A broken line and blank circles indicate values that havenot been corrected, and a solid line and solid black circles indicatecorrected values.

When, on the basis of the force information (for example, the forceinformation (f11) and the force information (f12) in FIG. 5A) acquiredat the predetermined time intervals by the force information acquiringunit 26, the force correction section detecting unit 27 determines thata displacement of the pieces of force information (difference betweenthe pieces of force information, i.e., (f12)−(f11) in FIG. 5A) exceeds athreshold value (for example, 1.0 N) of the displacement of the piecesof force information, the force correction section detecting unit 27consequently detects that the object 102 gripped with the slave hand 71of the slave manipulator 32 collides with the target object 103. A pointof time at which the force information (f12) is acquired is detected asa “force correction section” (force correction zone) by the forcecorrection section detecting unit 27 (However, “exceeds the thresholdvalue” means that the force correction section detecting unit 27determines that the displacement has the same sign as that of thethreshold value and an absolute value thereof larger than the thresholdvalue, and shows a state in which an operation speed of the mastermanipulator 9 decreases. Hereinafter, in the present description, thephrase is used in the same sense as described above.).

On the other hand, when, on the basis of pieces of force information(f11) and (f12), the displacement of the pieces of force information(difference between the pieces of force information, i.e., (f12)−(f11))in FIG. 5A does not exceed the threshold value of the displacement ofthe pieces of force information in the force information acquiring unit26, this state is detected as “no change” by the force correctionsection detecting unit 27. The “no change” mentioned here means thatthere is no force correction section (force correction zone).

Thus, by the force correction section detecting unit 27, a point of timeat which the displacement ((f12)−(f11)) of the pieces of forceinformation acquired by the force information acquiring unit 26 exceedsthe threshold value (i.e., a point of time (point of time A1 in FIG. 5C)at which the displacement ((fa12)−(fa11) in FIG. 5C) of forcestransmitted to the master manipulator 9 exceeds the threshold value) isdefined as “force correction start time”. Furthermore, by the forcecorrection section detecting unit 27, a point of time at which thedisplacement ((f14)−(f13) in FIG. 5A) of the pieces of force informationacquired by the force information acquiring unit 26 is equal to orsmaller than the threshold value (i.e., a point of time (point of timeC1 in FIG. 5C) at which the displacement ((fc12)−(fc11) in FIG. 5C) offorces transmitted to the master manipulator 9 is equal to or smallerthan the threshold value) is defined as “force correction end time”. Azone from the “force correction start time” to the “force correction endtime” is defined as a “force correction section” (force correction zone)by the force correction section detecting unit 27 (zone B1 in FIG. 5C).

Thus, when the zone from the force correction start time to the forcecorrection end time is defined as the force correction section, forceinformation in the zone is not a constant value in relation between atime and a magnitude of force, and is expressed by a curve or a straightline changing in the form of an upward chevron.

The above description describes the method of causing the forcecorrection section detecting unit 27 to detect a force correctionsection (force correction zone) at which force information is correctedby using only the force information acquired by the force informationacquiring unit 26. An advantage obtained when only the force informationacquired by the force information acquiring unit 26 is used is that themethod can be easily performed at low cost without using the speedinformation acquiring unit 28. However, the present invention is notlimited to the method.

For example, when the direction of the positive and negative signs ofthe slave force sensor 86 of the force information acquiring unit 26 isinverted in FIG. 4A, in other words, by using the configuration as shownin FIG. 4B, the graph in FIG. 5C does not have the form of an upwardchevron but has the shape of a downward chevron as shown in FIG. 5D.Even in this case, the zone from the force correction start time to theforce correction end time is defined as the force correction section,and force information in the zone is not a constant value in relationbetween a time and a magnitude of force, and is expressed by a curve ora straight line changing in the form of a downward chevron (in otherwords, the form of a valley). Thus, in the present description and thescope of claims, the “curve or straight line changing in the form of achevron” described above means not only the case in FIG. 5C but also thecase in FIG. 5D in which the direction of the positive and negativesigns of the slave force sensor 86 is inverted.

For example, by using both the force information acquired by the forceinformation acquiring unit 26 and the speed information acquired by thespeed information acquiring unit 28, a force correction section (forcecorrection zone) at which the force information is corrected can also bedetected.

More specifically, when, on the basis of the speed information (forexample, speed information (v11) and speed information (v12) in FIG. 5B)acquired at the predetermined time intervals by the speed informationacquiring unit 28, the force correction section detecting unit 27determines that a displacement of the pieces of speed information(difference between the pieces of speed information, i.e., (v12)−(v11)in FIG. 5B) exceeds a threshold value (for example, −0.01 mm/ms) of thedisplacement of the pieces of speed information, the force correctionsection detecting unit 27 consequently detects that the object 102gripped with the slave hand 71 of the slave manipulator 32 collides withthe target object 103. A point of time at which the speed information(v12) is acquired is detected as a “force correction section” (forcecorrection zone) by the force correction section detecting unit 27(However, “exceeds the threshold value” means that the force correctionsection detecting unit 27 determines that the displacement has the samesign as that of the threshold value and an absolute value thereof largerthan the threshold value, and shows a state in which an operation speedof the master manipulator 9 decreases. Hereinafter, in the presentdescription, the phrase is used in the same sense as described above.).

On the other hand, when, on the basis of pieces of speed information(v11) and (v12), the displacement of the pieces of speed information(difference between the pieces of speed information, i.e., (v12)−(v11))in FIG. 5B does not exceed the threshold value of the displacement ofthe pieces of speed information in the speed information acquiring unit28, this state is detected as a point of time of “no change” by theforce correction section detecting unit 27. The “no change” mentionedhere means that there is no force correction section (force correctionzone).

Thus, by the force correction section detecting unit 27, a point of timeat which the displacement ((v12)−(v11)) of the pieces of speedinformation acquired by the speed information acquiring unit 28 exceedsthe threshold value (i.e., a point of time (point of time A1 in FIG. 5C)at which the displacement ((fa12)−(fa11) in FIG. 5C) of forcestransmitted to the master manipulator 9 exceeds the threshold value) isdefined as “force correction start time”.

By the force correction section detecting unit 27, a point of time(point of time C1 in FIG. 5C) at which a displacement ((fc12)−(fc11) inFIG. 5C) of the pieces of force information acquired by the forceinformation acquiring unit 26 is lower than a threshold value (forexample −1.0 N) is defined as “force correction end time”. Morespecifically, a point of time at which the state in which thedisplacement of the pieces of force information exceeds the thresholdvalue changes into the state in which the displacement is lower than thethreshold value is defined as “force correction end time”. The zone fromthe “force correction start time” to the “force correction end time” isdefined as a “force correction section” (force correction zone) (zone B1in FIG. 5C) by the force correction section detecting unit 27.

As described above, as an advantage obtained when the “force correctionstart time” and the “force correction end time” are detected by usingboth the force information acquired by the force information acquiringunit 26 and the speed information acquired by the speed informationacquiring unit 28, accurate detection can be performed with an errorless than that in the case in which “force correction start time” and“force correction end time” are detected by using any one of the forceinformation acquired by the force information acquiring unit 26 and thespeed information acquired by the speed information acquiring unit 28.

The force correcting unit 25, on the basis of the force informationinput from the slave control unit 24 to the force correcting unit 25, asthe force information of the “force correction section” (forcecorrection zone), information obtained by correcting the forceinformation is outputted to the slave control unit 24. On the otherhand, as information of “no change” that is the state in which the forceinformation does not exceed the threshold value, the force informationis outputted to the slave control unit 24 without being changed. In amethod of correcting force information, the displacement ((fa12)−(fa11)in FIG. 5C) of the pieces of force information is multiplied by apredetermined constant (for example, 0.5) by the force correcting unit25, and the multiplied value is added to the present force information(fa12 in FIG. 5C) by the force correcting unit 25((fa12)+0.5×((fa12)−(fa11)) in FIG. 5C) to make it possible to correctthe force information by the force correcting unit 25.

The slave control unit 24 outputs the position information input fromthe master control unit 4 to the slave control unit 24, to the slaveinput/output IF 30. The force information input from the forcecorrection section detecting unit 27 to the slave control unit 24 isoutputted from the slave control unit 24 to the force correcting unit25, and the force information input from the force correcting unit 25 tothe slave control unit 24 is outputted from the slave control unit 24 tothe master control unit 4.

A manipulation procedure of the control apparatus 100 for a master-slaverobot in the first embodiment will be described below with reference toFIG. 4A and the flowchart in FIG. 6.

In step S201, when the object 102 collides with the target object 103,the force information is acquired by the force information acquiringunit 26, the speed information is acquired by the speed informationacquiring unit 28, and, from the force information acquiring unit 26 andthe speed information acquiring unit 28, the force information acquiredby the force information acquiring unit 26 and the speed informationacquired by the speed information acquiring unit 28 are outputted to theforce correction section detecting unit 27, respectively. Note that whenonly the force information acquired by the force information acquiringunit 26 is used, the speed information need not be acquired by the speedinformation acquiring unit 28. The case in which both the forceinformation acquired by the force information acquiring unit 26 and thespeed information acquired by the speed information acquiring unit 28are used is described here.

Subsequent to step S201, in step S206, when both the force informationand the speed information are acquired in step S201, by using at leastone of the force information and the speed information, in the forcecorrection section detecting unit 27, force correction sectioninformation (force correction zone information) is detected, and thedetected force correction section information (force correction zoneinformation) is outputted from the force correction section detectingunit 27 to the force correcting unit 25 through the slave control unit24. In the force correcting unit 25, the force correction sectiondetecting unit 27 determines whether the force information acquired bythe force information acquiring unit 26 has a force correction section(force correction zone). Note that when only the force information isused, by using only the force information, in the force correctionsection detecting unit 27, force correction section information (forcecorrection zone information) is detected, and the detected forcecorrection section information (force correction zone information) isoutputted from the force correction section detecting unit 27 to theforce correcting unit 25 through the slave control unit 24.

In step S206, when the force correction section detecting unit 27determines that there is no force correction section (force correctionzone), the control flow shifts to step S210.

In step S206, when the force correction section detecting unit 27determines that there is a force correction section (force correctionzone), the control flow shifts to step S208.

In step S208, in the force correcting unit 25, with respect to the forceinformation acquired by the force information acquiring unit 26, forceinformation that is detected to require force correction on the basis ofthe force correction section information (force correction zoneinformation) is corrected, and then outputted to the slave control unit24, and thereafter the control flow shifts to step S210.

In step S210, the force information outputted to the slave control unit24 is sent from the slave control unit 24 to the master control unit 4,and then transmitted from the master control unit 4 to the forcetransmitting unit 5. The force information inputted to the forcetransmitting unit 5 is transmitted to the human hand 101 by the methoddescribed above, and the flow is ended.

Effects of First Embodiment

In general, in the case where a method of gripping the object 102 withthe slave manipulator 32 changes during a task, and the forceinformation acquired by the force information acquiring unit 26 upon theobject 102 colliding with the target object 103 is smaller than thatacquired before the gripping method changes, in a conventionaltechnique, force information felt by the human hand 101 is small to makea manipulation difficult. As a result, a time required to complete thetask becomes long.

In contrast to this, by using the first embodiment, only the forceinformation acquired upon the object 102 colliding with the targetobject 103 is corrected by the force correcting unit 25, to therebyincrease the force information by the force correcting unit 25. Theincreased force information is outputted from the force transmittingunit 5 to the master manipulator 9 through the master control unit 4,the master peripheral device 6, and the like, and the master motor 64 isdriven on the basis of the increased force information. For this reason,an important section in the manipulation can be clearly felt by thehuman hand 101 to make the task easy and to shorten a time required forcompletion of the task.

For example, only force information in an important step in pieces offorce information externally applied to the slave manipulator 32 in atask can be increased and transmitted to the master manipulator 9. As aresult, the strength or weakness of the force during the task is clearlytransmitted to an operator. Even though components or task procedureschange, the task can be easily performed for a short period of time.

Note that the force correction section detecting unit 27 and the forcecorrecting unit 25 can also be included in the master control device 3.

Second Embodiment

In the first embodiment, an absolute value of the force informationapplied to the slave manipulator 32 upon the object 102 colliding withthe target object 103 is increased and transmitted to the mastermanipulator 9, and the force is thereby transmitted clearly to the humanhand 101 to make it possible to make the task easy. In contrast to this,in the second embodiment of the present invention, an absolute value offorce information excessively applied to the master manipulator 9 by thehuman hand 101 upon the object 102 colliding with the target object 103is reduced to transmit the force information to the slave manipulator32. In this manner, even though the human hand 101 applies an excessiveforce to the master manipulator 9, the object 102 or the target object103 can be prevented from being damaged. This will be described below.

FIG. 7 is a block diagram showing a control apparatus 100A of themaster-slave robot 150 in the second embodiment of the presentinvention. Since the master control unit 4, the master input/output IF7, the master motor driver 8, the master manipulator 9, the slavecontrol unit 24, the speed information acquiring unit 28, the slaveinput/output IF 30, the slave motor driver 31, and the slave manipulator32 in the second embodiment of the present invention are the same asthose in the first embodiment, common reference numerals denote commoncomponents to omit a description of the common components, and onlydifferent components will be described below in detail.

The master control device 3 includes the master control unit 4 and amaster force information acquiring unit 10.

The slave control device 23 includes the slave control unit 24, thespeed information acquiring unit 28, a slave force transmitting unit 33,a slave force correcting unit 39, and a slave force correction sectiondetecting unit 40.

The master force information acquiring unit 10 acquires a value of amaster force sensor 66 (see FIG. 2) attached to the master hand 51 ofthe master manipulator 9 as force information through the masterinput/output IF 7. The force information acquired by the master forceinformation acquiring unit 10 is outputted from the master forceinformation acquiring unit 10 to the master control unit 4.

The slave force transmitting unit 33 transmits the force informationinputted from the slave control unit 24 to the slave force transmittingunit 33 from the slave force transmitting unit 33, to the slavemanipulator 32. According to the method of transmitting forceinformation, by using Hooke's law (for example, a spring constant is setto 0.5), force information is converted into position information by theslave force transmitting unit 33, and position information calculated bythe slave force transmitting unit 33 is outputted from the slave forcetransmitting unit 33 to the slave manipulator 32 as a command value todrive a slave motor 74, thereby realizing transmission of forceinformation.

In the slave force correction section detecting unit 40, by using theforce information inputted from the master force information acquiringunit 10 to the slave force correction section detecting unit 40 throughthe master control unit 4 and the slave control unit 24 and the speedinformation inputted from the speed information acquiring unit 28 to theslave force correction section detecting unit 40, a force correctionsection (force correction zone) in the force information is detected bythe slave force correction section detecting unit 40, and the forceinformation detected by the slave force correction section detectingunit 40 is outputted from the slave force correction section detectingunit 40 to the slave control unit 24.

A method of detecting a force correction section (force correction zone)in the slave force correction section detecting unit 40 will bedescribed with reference to FIG. 4A and FIGS. 8A to 8C. FIG. 8A is agraph showing a relationship between a force detected at the mastermanipulator 9 and a time, and shows force information acquired by themaster force information acquiring unit 10. FIG. 8B is a graph showing arelationship between a speed detected at the slave manipulator 32 and atime, and shows speed information acquired by the speed informationacquiring unit 28. FIG. 8C is a graph showing a relationship between aforce transmitted to the slave manipulator 32 and a time, and showsforce information transmitted to the slave manipulator 32 after theforce correction. A broken line and blank circles indicate values thathave not been corrected, and a solid line and solid black circlesindicate corrected values.

When, on the basis of the force information (for example, the forceinformation (f21) and the force information (f22) in FIG. 8A) acquiredat the predetermined time intervals by the master force informationacquiring unit 10, the slave force correction section detecting unit 40determines that a displacement of the pieces of force information(difference between the pieces of force information, i.e., (f22)−(f21)in FIG. 8A) exceeds a threshold value (for example, 1.0 N) of thedisplacement of the pieces of force information, the slave forcecorrection section detecting unit 40 consequently detects that theobject 102 gripped with the slave hand 71 of the slave manipulator 32collides with the target object 103. A point of time at which the forceinformation (f22) is acquired is detected as a “force correctionsection” (force correction zone) by the slave force correction sectiondetecting unit 40.

On the other hand, when, on the basis of pieces of force information(f21) and (f22), the displacement of the pieces of force information(difference between the pieces of force information, i.e., (f22)−(f21)in FIG. 8A) does not exceed the threshold value of the displacement ofthe pieces of force information in the master force informationacquiring unit 10, this state is detected as “no change” by the slaveforce correction section detecting unit 40. “No change” mentioned heremeans that there is no force correction section (force correction zone).

Thus, by the slave force correction section detecting unit 40, a pointof time at which the displacement ((f22)−(f21)) of the pieces of forceinformation acquired by the master force information acquiring unit 10exceeds the threshold value (i.e., a point of time (point of time A2 inFIG. 8C) at which the displacement ((fa22)−(fa21) in FIG. 8C) of forcestransmitted to the slave manipulator 32 exceeds the threshold value) isdefined as “force correction start time”. Furthermore, by the slaveforce correction section detecting unit 40, a point of time at which thedisplacement ((f24)−(f23) in FIG. 8A) of the pieces of force informationacquired by the master force information acquiring unit 10 is equal toor smaller than the threshold value (i.e., a point of time (point oftime C2 in FIG. 8C) at which the displacement ((fc22)−(fc21) in FIG. 8C)of forces transmitted to the slave manipulator 32 is equal to or smallerthan the threshold value) is defined as “force correction end time”. Azone from the “force correction start time” to the “force correction endtime” is defined as a “force correction section” (force correction zone)by the slave force correction section detecting unit 40 (zone B2 in FIG.8C).

The above description explains the method of causing the slave forcecorrection section detecting unit 40 to detect a force correctionsection (force correction zone) at which force information is correctedby using only the force information acquired by the master forceinformation acquiring unit 10. An advantage obtained when only the forceinformation acquired by the master force information acquiring unit 10is used is that the method can be easily performed at low cost withoutusing the speed information acquiring unit 28. However, the presentinvention is not limited to the method.

For example, by using both the force information acquired by the masterforce information acquiring unit 10 and the speed information acquiredby the speed information acquiring unit 28, a force correction section(force correction zone) at which the force information is corrected canalso be detected.

More specifically, when, on the basis of the speed information (forexample, speed information (v21) and speed information (v22) in FIG. 8B)acquired at the predetermined time intervals by the speed informationacquiring unit 28, the slave force correction section detecting unit 40determines that a displacement of the pieces of speed information(difference between the pieces of speed information, i.e., (v22)−(v21)in FIG. 8B) exceeds a threshold value (for example, −0.01 mm/ms) of thedisplacement of the pieces of speed information, the slave forcecorrection section detecting unit 40 consequently detects that theobject 102 gripped with the slave hand 71 of the slave manipulator 32collides with the target object 103. A point of time at which the speedinformation (v22) is acquired is detected as a “force correctionsection” (force correction zone) by the slave force correction sectiondetecting unit 40.

On the other hand, when, on the basis of pieces of speed information(v21) and (v22), the displacement of the pieces of speed information(difference between the pieces of speed information, i.e., (v22)−(v21)in FIG. 8B) does not exceed the threshold value of the displacement ofthe pieces of speed information in the speed information acquiring unit28, this state is detected as a point of time of “no change” by theslave force correction section detecting unit 40. “No change” mentionedhere means that there is no force correction section (force correctionzone).

Thus, by the slave force correction section detecting unit 40, a pointof time at which the displacement ((v22)−(v21)) of the pieces of speedinformation acquired by the speed information acquiring unit 28 exceedsthe threshold value (i.e., a point of time (point of time A2 in FIG. 8C)at which the displacement ((fa22)−(fa21) in FIG. 8C) of forcestransmitted to the slave manipulator 32 exceeds the threshold value) isdefined as “force correction start time”. By the slave force correctionsection detecting unit 40, a point of time (point of time C2 in FIG. 8C)at which a displacement ((fc22)−(fc21) in FIG. 8C) of the pieces offorce information acquired by the master force information acquiringunit 10 is lower than a threshold value (for example −1.0 N) is definedas “force correction end time”. A zone from the “force correction starttime” to the “force correction end time” is defined as a “forcecorrection section” (force correction zone) (zone B2 in FIG. 8C) by theslave force correction section detecting unit 40.

As described above, as an advantage obtained when the “force correctionstart time” and the “force correction end time” are detected by usingboth the force information acquired by the master force informationacquiring unit 10 and the speed information acquired by the speedinformation acquiring unit 28, accurate detection can be performed withan error less than that in the case in which “force correction starttime” and “force correction end time” are detected by using any one ofthe force information acquired by the master force information acquiringunit 10 and the speed information acquired by the speed informationacquiring unit 28.

The slave force correcting unit 39, on the basis of the forceinformation inputted from the slave control unit 24 to the slave forcecorrecting unit 39, as the force information of the “force correctionsection” (force correction zone), information obtained by correcting theforce information is outputted to the slave control unit 24. On theother hand, as information of “no change”, the force information isoutputted to the slave control unit 24 without being changed. In amethod of correcting force information, the displacement ((fa22)−(fa21)in FIG. 8C) of the pieces of force information is multiplied by apredetermined constant (for example, 0.5) by the slave force correctingunit 39, and the multiplied value is subtracted from the present forceinformation (fa22 in FIG. 8C) by the slave force correcting unit 39((fa22)−0.5×((fa22)−(fa21)) in FIG. 8C) to make it possible to correctthe force information by the slave force correcting unit 39.

A manipulation procedure of the control apparatus 100A for amaster-slave robot in the second embodiment will be described below withreference to FIG. 4A and the flowchart in FIG. 9.

In step S212, when the object 102 collides with the target object 103,the force information is acquired by the master force informationacquiring unit 10, the speed information is acquired by the speedinformation acquiring unit 28, and, from the master force informationacquiring unit 10 and the speed information acquiring unit 28, the forceinformation acquired by the master force information acquiring unit 10and the speed information acquired by the speed information acquiringunit 28 are outputted to the slave force correction section detectingunit 40, respectively. When only the force information acquired by themaster force information acquiring unit 10 is used, the speedinformation need not be acquired by the speed information acquiring unit28. The case in which both the force information acquired by the masterforce information acquiring unit 10 and the speed information acquiredby the speed information acquiring unit 28 are used is described here.

Subsequent to step S212, in step S213, when both the force informationand the speed information are acquired in step S212, by using at leastone of the force information and the speed information, in the slaveforce correction section detecting unit 40, force correction sectioninformation (force correction zone information) is detected, and thedetected force correction section information (force correction zoneinformation) is outputted from the slave force correction sectiondetecting unit 40 to the slave force correcting unit 39 through theslave control unit 24. In the slave force correcting unit 39, the slaveforce correction section detecting unit 40 determines whether the forceinformation acquired by the master force information acquiring unit 10has a force correction section (force correction zone). When only theforce information is used, by using only the force information, in theslave force correction section detecting unit 40, force correctionsection information (force correction zone information) is detected, andthe detected force correction section information (force correction zoneinformation) is outputted from the slave force correction sectiondetecting unit 40 to the slave force correcting unit 39 through theslave control unit 24.

In step S213, when the slave force correction section detecting unit 40determines that there is no force correction section (force correctionzone), the control flow shifts to step S211.

In step S213, when the slave force correction section detecting unit 40determines that there is a force correction section (force correctionzone), the control flow shifts to step S209.

In step S209, in the slave force correcting unit 39, with respect to theforce information acquired by the master force information acquiringunit 10, force information that is detected to require force correctionon the basis of the force correction section information (forcecorrection zone information) is corrected and then outputted to theslave control unit 24, and the control flow shifts to step S211.

In step S211, the force information outputted to the slave control unit24 is transmitted from the slave control unit 24 to the slave forcetransmitting unit 33. The force information inputted to the slave forcetransmitting unit 33 is transmitted to the slave manipulator 9 by themethod described above, and the flow is ended.

Effects of Second Embodiment

In the case where the master manipulator 9 is manipulated with the humanhand 101 to cause the slave manipulator 32 that grips the object 102 toperform a task, conventionally, the object 102 or the target object 103may be damaged when the human hand 101 applies an excessive force to themaster manipulator 9 to cause the object 102 to collide with the targetobject 103.

In contrast to this, by using the second embodiment of the presentinvention, the slave force correction section detecting unit 40 detectsthat the human hand 101 applies an excessive force thereto, the slaveforce correcting unit 39 decreases an absolute value of the forceinformation to transmit the force information to the slave manipulator32, and, on the basis of the transmitted force information, the slavemanipulator 32 is driven, thereby preventing the object 102 or thetarget object 103 from being damaged.

Note that in the second embodiment, all the master motors 64 for drivingjoint portions and driving hands in FIG. 2 can be removed. The slaveforce correction section detecting unit 40 and the slave forcecorrecting unit 39 can also be included in the master control device 3.

Third Embodiment

FIGS. 10A and 10B are block diagrams showing a control apparatus 100Bfor the master-slave robot 150 in a third embodiment of the presentinvention. Since the master robot system 1, the slave control unit 24,the force information acquiring unit 26, the speed information acquiringunit 28, the slave peripheral device 29, and the slave manipulator 32 inthe third embodiment of the present invention are the same as those inthe first embodiment, common reference numerals denote common componentsto omit a description of the common components, and only differentcomponents will be described below in detail.

The master control device 3 includes the master control unit 4 and theforce transmitting unit 5.

The slave control device 23 includes the slave control unit 24, theforce correcting unit 25, the force information acquiring unit 26, thespeed information acquiring unit 28, a detecting method selecting unit34, a reference information storing unit 41, and the force correctionsection detecting unit 27.

A functional difference between the force correcting unit 25 and theslave force correcting unit 39 will be described below. The forcecorrecting unit 25 has a function of increasing a force transmitted tothe master manipulator 9. On the other hand, the slave force correctingunit 39 has a function of decreasing the force transmitted to the slavemanipulator 32.

The detecting method selecting unit 34 selects one of “force informationand speed information”, “force information”, “speed information”, and“stored force information and speed information” (to be referred to as“reference” hereinafter). Selection information selected by thedetecting method selecting unit 34 is outputted to the force correctionsection detecting unit 27, and information used when the forcecorrection section (force correction zone) is detected is designated bythe force correction section detecting unit 27 on the basis of theselection information. Since the force correction section detecting unit27, the slave force correction section detecting unit 40, the forcecorrecting unit 25, and the slave force correcting unit 39 differsdepending on the information selected by the detecting method selectingunit 34, an explanation will be made in units of pieces of selectedinformation.

A method of selecting each piece of information in the detecting methodselecting unit 34 has a configuration in which an operator (person)depresses buttons corresponding to a task experience of the operator anda task difficulty by using the master input/output IF 7 configured by aconsole panel or the like on which, for example, a plurality of buttonsare arranged, in accordance with a database in FIG. 11, correspondinginformation is automatically selected by the detecting method selectingunit 34 (the database in FIG. 11 is stored as information in thedetecting method selecting unit 34). As the task experience, theoperator selects one of “0 to 1 year”, “1 to 3 years”, and “3 or moreyears”. The task experience is inputted to the detecting methodselecting unit 34 by using the master input/output IF 7. As the taskdifficulty, one of “difficult”, “normal”, and “easy” is selected andinputted to the detecting method selecting unit 34 by using the masterinput/output IF 7. For example, “0 to 1 year” is selected as the taskexperience, “difficult” is selected as the task difficulty, and both thedata are inputted from the master input/output IF 7 to the detectingmethod selecting unit 34. In this case, in the detecting methodselecting unit 34, “reference” is selected on the basis of the databasein FIG. 11. “3 or more years” is selected as the task experience, “easy”is selected as the task difficulty, and both the data are inputted fromthe master input/output IF 7 to the detecting method selecting unit 34.In this case, in the detecting method selecting unit 34, “speedinformation” is selected on the basis of the database in FIG. 11. Whenthe task experience and the task difficulty are not selected, “0 to 1year” is automatically selected as the task experience, “normal” isautomatically selected as the task difficulty, and both the data areinputted to the detecting method selecting unit 34 by using the masterinput/output IF 7. In this case, in the detecting method selecting unit34, on the basis of the database in FIG. 11, “force information andspeed information” is selected.

The reference information storing unit 41 is used when “reference” isselected in the detecting method selecting unit 34 and preliminarilystores a database in which information of the reference to be used isselected depending on a grip position of the object 102 or the object102 (When “reference” is selected, details of the database will bedescribed later.).

(When “Force Information and Speed Information” is Selected by theDetecting Method Selecting Unit 34)

In the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, by using pieces of forceinformation inputted from the force information acquiring unit 26 andthe master force information acquiring unit 10 to the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40 and speed information inputted from the speedinformation acquiring unit 28 to the force correction section detectingunit 27 and the slave force correction section detecting unit 40, aforce correction section (force correction zone) in the forceinformation is detected by the force correction section detecting unit27 and the slave force correction section detecting unit 40, and thepieces of force information detected by the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40 are outputted from the force correction section detecting unit 27 andthe slave force correction section detecting unit 40 to the slavecontrol unit 24.

A method of detecting a force correction section (force correction zone)will be described below with reference to FIGS. 5A to 5C and FIGS. 8A to8C. FIG. 5A shows the force information acquired by the forceinformation acquiring unit 26, FIG. 8A shows the force informationacquired by the master force information acquiring unit 10, and FIGS. 5Aand 8B show the speed information acquired by the speed informationacquiring unit 28. FIG. 5C shows force information transmitted to themaster manipulator 9 after force correction, and FIG. 8C shows forceinformation transmitted to the slave manipulator 32 after forcecorrection. A broken line and blank circles indicate values that havenot been corrected, and a solid line and solid black circles indicatecorrected values.

When, on the basis of the speed information acquired at thepredetermined time intervals by the speed information acquiring unit 28,the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40 determine that a displacement ofthe pieces of speed information ((v12)−(v11) in FIG. 5B and (v22)−(v21)in FIG. 8B) exceeds a threshold value (for example, −0.01 mm/ms), theforce correction section detecting unit 27 and the slave forcecorrection section detecting unit 40 consequently detect that the object102 gripped with the slave hand 71 of the slave manipulator 32 collideswith the target object 103. A point of time at which the speedinformation (v12) is acquired is detected as a “force correctionsection” (force correction zone) by the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40. The force information detected as the “force correction section”(force correction zone), in the case where the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40 determine that the displacement of the pieces of force informationacquired by the force information acquiring unit 26 exceeds a thresholdvalue (for example, 1.0 N), is detected as an “increase” by the forcecorrection section detecting unit 27 and the slave force correctionsection detecting unit 40. In the case where the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40 determine that the displacement of the pieces of forceinformation acquired by the master force information acquiring unit 10exceeds the threshold value, the force information detected as the“force correction section” (force correction zone) is detected as a“decrease” by the force correction section detecting unit 27 and theslave force correction section detecting unit 40. On the other hand, theforce correction section detecting unit 27 and the slave forcecorrection section detecting unit 40 determine that the displacement ofthe pieces of speed information does not exceed the threshold value, aforce correction section is detected as “no change” by the forcecorrection section detecting unit 27 and the slave force correctionsection detecting unit 40.

Thus, by the force correction section detecting unit 27 and the slaveforce correction section detecting unit 40, a point of time at which thedisplacement of the pieces of speed information acquired by the speedinformation acquiring unit 28 exceeds the threshold value (point of timeA1 in FIG. 5C and point of time A2 in FIG. 8C) is defined as “forcecorrection start time”. By the force correction section detecting unit27 and the slave force correction section detecting unit 40, a point oftime (point of time C1 in FIG. 5C and point of time C2 in FIG. 8C) atwhich a displacement ((fc12)−(fc11) in FIG. 5C and (fc22)−(fc21) in FIG.8C) of the pieces of force information acquired by the force informationacquiring unit 26 and the master force information acquiring unit 10 islower than a threshold value (for example −1.0 N) is defined as “forcecorrection end time”. A zone from the “force correction start time” tothe “force correction end time” is defined as a “force correctionsection” (force correction zone) (zone B1 in FIG. 5C and zone B2 in FIG.8C) by the force correction section detecting unit 27 and the slaveforce correction section detecting unit 40.

The force correcting unit 25, on the basis of the detected forceinformation inputted from the slave control unit 24 to the forcecorrecting unit 25, as the force information of the “force correctionsection” (force correction zone), information obtained by correcting theforce information is outputted to the slave control unit 24. On theother hand, as information of “no change”, the force information isoutputted to the slave control unit 24 without being changed. In amethod of correcting the force information, the displacement((fa12)−(fa11) in FIG. 5C) of the pieces of force information ismultiplied by a predetermined constant (for example, 0.5) by the forcecorrecting unit 25, and the multiplied value is added to the presentforce information ((fa12) in FIG. 5C) by the force correcting unit 25((fa12)+0.5×((fa12)−(fa11)) in FIG. 5C) to make it possible to correctthe force information by the force correcting unit 25.

The slave force correcting unit 39, on the basis of the detected forceinformation inputted from the slave control unit 24 to the slave forcecorrecting unit 39, as the force information of the “force correctionsection” (force correction zone), information obtained by correcting theforce information is outputted to the slave control unit 24. On theother hand, as information of “no change”, the force information isoutputted to the slave control unit 24 without being changed. In amethod of correcting the force information, the displacement((fa22)−(fa21) in FIG. 8C) of the pieces of force information ismultiplied by a predetermined constant (for example, 0.5) by the slaveforce correcting unit 39, and the multiplied value is subtracted fromthe present force information ((fa22) in FIG. 8C) by the slave forcecorrecting unit 39 ((fa22)−0.5×((fa22)−(fa21)) in FIG. 8C) to make itpossible to correct the force information by the slave force correctingunit 39.

(When “Force Information” is Selected by the Detecting Method SelectingUnit 34)

In the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, by using pieces of forceinformation inputted from the force information acquiring unit 26 andthe master force information acquiring unit 10 to the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40, a force correction section (force correction zone) inthe force information is detected by the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40, and the pieces of force information detected by the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40 are outputted from the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40 to the slave control unit 24.

A method of detecting a force correction section (force correction zone)will be described below with reference to FIGS. 12A to 13B. FIG. 12Ashows the force information acquired by the force information acquiringunit 26, and FIG. 13A shows the force information acquired by the masterforce information acquiring unit 10. FIG. 12B shows force informationtransmitted to the master manipulator 9 after force correction, FIG. 13Bshows force information transmitted to the slave manipulator 32 afterforce correction. A broken line and blank circles indicate values thathave not been corrected, and a solid line and solid black circlesindicate corrected values.

When, on the basis of the force information acquired at thepredetermined time intervals by the force information acquiring unit 26,the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40 determine that a displacement ofthe pieces of force information ((fa32)−(fa31) in FIG. 12B and(fa42)−(fa41) in FIG. 13B) exceeds a threshold value (for example, 1.0N), the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40 consequently detect that the object102 gripped with the slave hand 71 of the slave manipulator 32 collideswith the target object 103, and the force information is detected as a“force correction section” (force correction zone) by the forcecorrection section detecting unit 27 and the slave force correctionsection detecting unit 40. The force information detected as the “forcecorrection section” (force correction zone) by the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40, in the case where the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40 determine that the displacement of the pieces of force informationacquired by the force information acquiring unit 26 exceeds a thresholdvalue, is detected as an “increase” by the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40. When the force correction section detecting unit 27 and the slaveforce correction section detecting unit 40 determine that thedisplacement of the pieces of force information acquired by the masterforce information acquiring unit 10 exceeds the threshold value, theforce information detected as the “force correction section” (forcecorrection zone) is detected as a “decrease” by the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40. On the other hand, the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40 determine that the displacement of the pieces of force informationdoes not exceed the threshold value, a force correction section isdetected as “no change” by the force correction section detecting unit27 and the slave force correction section detecting unit 40.

Thus, by the force correction section detecting unit 27 and the slaveforce correction section detecting unit 40, a point of time (point oftime A3 in FIG. 12B and point of time A4 in FIG. 13B) at which thedisplacement of the pieces of force information acquired by the forceinformation acquiring unit 26 exceeds the threshold value is defined as“force correction start time”. By the force correction section detectingunit 27 and the slave force correction section detecting unit 40, apoint of time (point of time C3 in FIG. 12B and point of time C4 in FIG.13B) at which a displacement ((fc32)−(fc31) in FIG. 12B and(fc42)−(fc41) in FIG. 13B) of the pieces of force information acquiredby the force information acquiring unit 26 is lower than a thresholdvalue (for example −1.0 N) is defined as “force correction end time”. Azone from the “force correction start time” to the “force correction endtime” is defined as a “force correction section” (force correction zone)(zone B3 in FIG. 12B and zone B4 in FIG. 13B) by the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40.

The force correcting unit 25, on the basis of the detected forceinformation inputted from the slave control unit 24 to the forcecorrecting unit 25, as the force information of the “force correctionsection” (force correction zone), information obtained by correcting theforce information is outputted to the slave control unit 24. On theother hand, as information of “no change”, the force information isoutputted to the slave control unit 24 without being changed. In amethod of correcting force information, the displacement ((fa32)−(fa31)in FIG. 12 b) of the pieces of force information is multiplied by apredetermined constant (for example, 0.5) by the force correcting unit25, and the multiplied value is added to the present force information((fa32) in FIG. 12B) by the force correcting unit 25((fa32)+0.5×((fa32)−(fa31)) in FIG. 12B) to make it possible to correctthe force information by the force correcting unit 25.

The slave force correcting unit 39, on the basis of the detected forceinformation inputted from the slave control unit 24 to the slave forcecorrecting unit 39, as the force information of the “force correctionsection” (force correction zone), information obtained by correcting theforce information is outputted to the slave control unit 24. On theother hand, as information of “no change”, the force information isoutputted to the slave control unit 24 without being changed. In amethod of correcting the force information, the displacement((fa42)−(fa41) in FIG. 13 b) of the pieces of force information ismultiplied by a predetermined constant (for example, 0.5) by the slaveforce correcting unit 39, and the multiplied value is subtracted fromthe present force information ((fa42) in FIG. 13B) by the slave forcecorrecting unit 39 ((fa42)−0.5×((fa42)−(fa41)) in FIG. 13B) to make itpossible to correct the force information by the slave force correctingunit 39.

(When “Speed Information” is Selected by the Detecting Method SelectingUnit 34)

In the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, by using the speed informationinputted from the speed information acquiring unit 28 to the forcecorrection section detecting unit 27, a force correction section (forcecorrection zone) in the force information is detected, and the forceinformation detected by the force correction section detecting unit 27is outputted from the force correction section detecting unit 27 to theslave control unit 24.

A method of detecting the force correction section (force correctionzone) will be described below with reference to FIGS. 14A to 15C. FIG.14A shows the force information acquired by the force informationacquiring unit 26, FIG. 15A shows the force information acquired by themaster force information acquiring unit 10, and FIGS. 14B and 15B showthe speed information acquired by the speed information acquiring unit28. FIG. 14C shows the force information transmitted to the mastermanipulator 9 after force correction, FIG. 15C shows force informationtransmitted to the slave manipulator 32 after force correction. A brokenline and blank circles indicate values that have not been corrected, anda solid line and solid black circles indicate corrected values.

When, on the basis of the speed information acquired at thepredetermined time intervals by the speed information acquiring unit 28,the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40 determine that a displacement ofthe pieces of speed information ((v52)−(v51) in FIG. 14B and (v62)−(v61)in FIG. 15B) exceeds a threshold value (for example, −0.01 mm/ms), theforce correction section detecting unit 27 and the slave forcecorrection section detecting unit 40 consequently detect that the object102 gripped with the slave hand 71 of the slave manipulator 32 collideswith the target object 103. A point of time at which the speedinformation (v52) is acquired is detected as a “force correctionsection” (force correction zone) by the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40. The force information detected as the “force correction section”(force correction zone), in the case where the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40 determine that the displacement of the pieces of force informationacquired by the force information acquiring unit 26 exceeds a thresholdvalue (for example, 1.0 N), is detected as an “increase” by the forcecorrection section detecting unit 27 and the slave force correctionsection detecting unit 40. When the force correction section detectingunit 27 and the slave force correction section detecting unit 40determine that the displacement of the pieces of force informationacquired by the master force information acquiring unit 10 exceeds thethreshold value, the force information detected as the “force correctionsection” (force correction zone) is detected as a “decrease” by theforce correction section detecting unit 27 and the slave forcecorrection section detecting unit 40. On the other hand, the forcecorrection section detecting unit 27 and the slave force correctionsection detecting unit 40 determine that the displacement of the piecesof speed information does not exceed the threshold value, a forcecorrection section is detected as “no change” by the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40.

Thus, by the force correction section detecting unit 27 and the slaveforce correction section detecting unit 40, a point of time at which thedisplacement of the pieces of speed information acquired by the speedinformation acquiring unit 28 exceeds the threshold value (point of timeA5 in FIG. 14C and point of time A6 in FIG. 15C) is defined as “forcecorrection start time”. By the force correction section detecting unit27 and the slave force correction section detecting unit 40, a point oftime (point of time C5 in FIG. 14C and point of time C6 in FIG. 15C) atwhich a displacement ((v54)−(v53) in FIG. 14B and (v64)−(v63) in FIG.15B) of the pieces of speed information acquired by the speedinformation acquiring unit 28 is lower than a threshold value (forexample −0.01 mm/ms) is defined as “force correction end time”. A zonefrom the “force correction start time” to the “force correction endtime” is defined as a “force correction section” (force correction zone)(zone B5 in FIG. 14C and zone B6 in FIG. 15C) by the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40.

The force correcting unit 25, on the basis of the detected forceinformation inputted from the slave control unit 24 to the forcecorrecting unit 25, as the force information of the “force correctionsection” (force correction zone), information obtained by correcting theforce information is outputted to the slave control unit 24. On theother hand, as information of “no change”, the force information isoutputted to the slave control unit 24 without being changed. In amethod of correcting the force information, force information ismultiplied by a constant by the force correcting unit 25 (1.5×(fa51) inFIG. 14B) to make it possible to correct the force information by theforce correcting unit 25.

The slave force correcting unit 39, on the basis of the detected forceinformation inputted from the slave control unit 24 to the slave forcecorrecting unit 39, as the force information of the “force correctionsection” (force correction zone), information obtained by correcting theforce information is outputted to the slave control unit 24. On theother hand, as information of “no change”, the force information isoutputted to the slave control unit 24 without being changed. In themethod of correcting the force information, force information ismultiplied by a constant by the slave force correcting unit 39(0.5×(fa61) in FIG. 15B) to make it possible to correct the forceinformation by the slave force correcting unit 39.

(When “Reference” is Selected by the Detecting Method Selecting Unit 34)

In the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, by using pieces of forceinformation inputted from the reference information storing unit 41, theforce information acquiring unit 26, and the master force informationacquiring unit 10 to the force correction section detecting unit 27 andspeed information inputted from the speed information acquiring unit 28to the force correction section detecting unit 27, a force correctionsection (force correction zone) in the force information is detected bythe force correction section detecting unit 27, and the pieces of forceinformation detected by the force correction section detecting unit 27are outputted from the force correction section detecting unit 27 to theslave control unit 24.

A method of detecting a force correction section (force correction zone)will be described below with reference to FIGS. 16A to 17D. FIGS. 16Aand 17A are pieces of force information acquired by the forceinformation acquiring unit 26. FIGS. 16B and 17B show pieces of forceinformation of a slave reference and a master reference, and FIGS. 16Cand 17C show pieces of speed information of the slave reference and themaster reference. FIGS. 16D and 17D show pieces of force informationtransmitted to the master manipulator 9 and the slave manipulator 32after force correction. A broken line and blank circles indicate valuesthat have not been corrected, and a solid line and solid black circlesindicate corrected values.

Force information acquired when the force correction section detectingunit 27 and the slave force correction section detecting unit 40determine that a displacement ((fr72)−(fr71) in FIG. 16B and(fr82)−(fr81) in FIG. 17B) of the pieces of force information of thereferences exceeds a threshold value (for example, 1.0 N) is matchedwith a displacement of pieces of force information acquired by the forceinformation acquiring unit 26 and the master force information acquiringunit 10 by the force correction section detecting unit 27 and the slaveforce correction section detecting unit 40, and force information havingthe same tendency as described above (when the displacement falls withina range obtained by multiplying the displacement of the pieces of forceinformation of the references by a constant (for example, 0.5 and 2)(point of time at which0.5×((fr72)−(fr71))<((f72)−(f71))<2×((fr72)−(fr71) in FIG. 17) issatisfied and point of time at which0.5×((fr82)−(fr81))<((f82)−(f81))<2×((fr82)−(fr81)) in FIG. 18 issatisfied)) is detected by the force correction section detecting unit27 and the slave force correction section detecting unit 40.

On the basis of the pieces of force information detected as describedabove, the force correction section detecting unit 27 and the slaveforce correction section detecting unit 40 detect that the object 102gripped with the slave hand 71 of the slave manipulator 32 collides withthe target object 103, and the force correction section detecting unit27 and the slave force correction section detecting unit 40 detect theinformation as a “force correction section” (force correction zone). Onthe other hand, when the force correction section detecting unit 27 andthe slave force correction section detecting unit 40 determine that thedisplacement of the pieces of force information does not have the sametendency, a force correction section is detected as “no change” by theforce correction section detecting unit 27 and the slave forcecorrection section detecting unit 40. In the pieces of force informationdetected as the “force correction section” (force correction zone) bythe force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, when the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40 determine that the displacement of the pieces of force informationacquired by the force information acquiring unit 26 can be matched withthe displacement of the pieces of force information of the slavereference, the “force correction section” is detected as an “increase”by the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40. On the other hand, when the forcecorrection section detecting unit 27 and the slave force correctionsection detecting unit 40 determines that the displacement of the piecesof force information acquired by the master force information acquiringunit 10 can be matched with the displacement of the pieces of forceinformation of the master reference, the “force correction section” isdetected as a “decrease” by the force correction section detecting unit27 and the slave force correction section detecting unit 40.

Thus, by the force correction section detecting unit 27 and the slaveforce correction section detecting unit 40, a point of time at which thepieces of force information acquired by the force information acquiringunit 26 and the master force information acquiring unit 10 have the sametendency as that of the pieces of force information of the reference(point of time A7 in FIG. 16D and point of time A8 in FIG. 17D) isdefined as “force correction start time”. On the other hand, by theforce correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, a point of time (point of time C7in FIG. 16D and point of time C8 in FIG. 17D) at which force informationacquired when the force correction section detecting unit 27 and theslave force correction section detecting unit 40 determine that adisplacement ((fr74)−(fr73) in FIG. 16B and (fr84)−(fr83) in FIG. 17B)of the pieces of force information of the reference is lower than athreshold value (for example −1.0 N) has the same tendency as that ofthe displacement of the pieces of force information acquired by theforce information acquiring unit 26 and the master force informationacquiring unit 10 is defined as “force correction end time”. A zone fromthe “force correction start time” to the “force correction end time” isdefined as a “force correction section” (force correction zone) by theforce correction section detecting unit 27 and the slave forcecorrection section detecting unit 40 (zone B7 in FIG. 16D and zone B8 inFIG. 17D).

The force correcting unit 25, on the basis of the detected forceinformation inputted from the slave control unit 24 to the forcecorrecting unit 25, as the force information of the “force correctionsection” (force correction zone), information obtained by correcting theforce information is outputted to the slave control unit 24. On theother hand, as information of “no change”, the force information isoutputted to the slave control unit 24 without being changed. In amethod of correcting the force information, the force information isincreased to the same value of the force information of the reference bythe force correcting unit 25.

The slave force correcting unit 39, on the basis of the detected forceinformation inputted from the slave control unit 24 to the slave forcecorrecting unit 39, as the force information of the “force correctionsection” (force correction zone), information obtained by correcting theforce information is outputted to the slave control unit 24. On theother hand, as information of “no change”, the force information isoutputted to the slave control unit 24 without being changed. In themethod of correcting the force information, the force information isdecreased to the same value of the force information of the reference.

The information of the reference is provided in advance by, for example,a manufacturer that manufacture a control apparatus for a master-slaverobot, and can be stored in advance in the reference information storingunit 41. The information of the reference can also be added, and theinformation of the reference of the force information or the informationof the reference of the speed information acquired by a pre-experimentcan be additionally stored in the reference information storing unit 41by using the master input/output IF 7. A situation in which the slavemanipulator 32 easily acquires the force information is used as theinformation of the reference, in an insertion experiment of the flexibleboard 104 that exhibits conventional experiment results in FIGS. 29A to31, to use information of a grip position of 5 mm of the flexible board104 as the information of the reference is more advantageous than to useinformation of a grip position of 10 mm of the flexible board 104 as theinformation of the reference. The information of the reference is storedin the reference information storing unit 41 and held in a database asshown in FIG. 18. Information of a specific reference to be used is usedas information of a reference in a manipulation such that an operatordetermines the object 102 or the grip position with a button by usingthe master input/output IF 7.

FIG. 19 is a flowchart showing operations performed until forcecorrection is performed after force information and speed informationare acquired in the third embodiment of the present invention.

In step S201, pieces of force information are acquired by the forceinformation acquiring unit 26 and the master force information acquiringunit 10, and speed information is acquired by the speed informationacquiring unit 28.

In step S202, the detecting method selecting unit 34 determines whether“force information and speed information” is selected as informationused in the force correction section detecting unit 27 and the slaveforce correction section detecting unit 40 and information used in theforce correcting unit 25 and the slave force correcting unit 39. Whenthe detecting method selecting unit 34 determines the “force informationand speed information” is selected by selecting and inputting by anoperator a detecting method to the detecting method selecting unit 34 byusing the master input/output IF 7, the control flow shifts to stepS206. When the detecting method selecting unit 34 determines thatinformation except for the “force information and speed information” isselected, the control flow shifts to step S203.

In step S203, the detecting method selecting unit 34 determines whether“force information” is selected as information used in the forcecorrection section detecting unit 27 and the slave force correctionsection detecting unit 40 and information used in the force correctingunit 25 and the slave force correcting unit 39. When the detectingmethod selecting unit 34 determines the “force information” is selectedby selecting and inputting by an operator a detecting method to thedetecting method selecting unit 34 by using the master input/output IF7, the control flow shifts to step S206. When the detecting methodselecting unit 34 determines that information except for the “forceinformation” is selected, the control flow shifts to step S204.

In step S204, the detecting method selecting unit 34 determines whether“speed information” is selected as information used in the forcecorrection section detecting unit 27 and the slave force correctionsection detecting unit 40 and information used in the force correctingunit 25 and the slave force correcting unit 39. When the detectingmethod selecting unit 34 determines the “speed information” is selectedby selecting and inputting by an operator a detecting method to thedetecting method selecting unit 34 by using the master input/output IF7, the control flow shifts to step S206. When the detecting methodselecting unit 34 determines that information except for the “speedinformation” is selected, the control flow shifts to step S205.

In step S205, the detecting method selecting unit 34 determines whether“reference” is selected as information used in the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40 and information used in the force correcting unit 25and the slave force correcting unit 39. When the detecting methodselecting unit 34 determines the “reference” is selected by selectingand inputting by an operator a detecting method to the detecting methodselecting unit 34 by using the master input/output IF 7, the controlflow shifts to step S206. A determination by the detecting methodselecting unit 34 that information except for the “reference” isselected means that any one of the pieces of information in step S202 tostep 205 is not selected. This case, in the above description,corresponds to a case in which a task experience and a task difficultyare not selected. More specifically, “force information and speedinformation” is automatically selected in the detecting method selectingunit 34 to shift the flow to step S206.

In step S206, by using the information selected by the detecting methodselecting unit 34, it is detected in the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40 whether force correction is performed. When the force correctionsection detecting unit 27 and the slave force correction sectiondetecting unit 40 detect that force correction is performed, the controlflow shifts to step S207. When the force correction section detectingunit 27 and the slave force correction section detecting unit 40 detectthat force correction is not performed, the control flow shifts to stepS300.

In step S300, force information in which force correction is notperformed is directly transmitted from the force correcting unit 25 tothe master manipulator 9 and the slave manipulator 32 to end a series offlows.

In step S207, the force correction section detecting unit 27 and theslave force correction section detecting unit 40 detect that forcecorrection is performed. As the force correction, it is detected whetherthe force information is increased or decreased. At a section (zone)detected as “no change” by the force correction section detecting unit27 and the slave force correction section detecting unit 40, the forceinformation is transmitted by the force correction section detectingunit 27 and the slave force correction section detecting unit 40 withoutbeing corrected. At a section (zone) detected as an “increase” by theforce correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, the control flow shifts to stepS208. At a section (zone) detected as not an “increase” but a “decrease”by the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, the control flow shifts to stepS209.

In step S208, after an absolute value of the force information isincreased in the force correcting unit 25, the control flow shifts tostep S210.

In step S210, the increased force information is transmitted from theforce correcting unit 25 to the master manipulator 9 to end a series offlows.

On the other hand, in step S209, at a section (zone) detected as a“decrease” by the force correction section detecting unit 27 and theslave force correction section detecting unit 40, after the absolutevalue of the force information is decreased in the slave forcecorrecting unit 39, the control flow shifts to step S211.

In step S211, the decreased force information is transmitted from theslave force correcting unit 39 to the slave manipulator 32 to end aseries of flows.

Effects of Third Embodiment

Since procedures of correcting a force can be changed in accordance withthe capability of an operator or the difficulty of a task, in comparisonwith the first embodiment and the second embodiment, the task can bemore efficiently performed.

Fourth Embodiment

FIGS. 20A and 20B are block diagrams showing a control apparatus 100C ofthe master-slave robot 150 according to the fourth embodiment of thepresent invention. Since the master robot system 1, the slave controlunit 24, the force information acquiring unit 26, the force correctionsection detecting unit 27, the speed information acquiring unit 28, theslave peripheral device 29, and the slave manipulator 32 in the fourthembodiment of the present invention are the same as those in the firstembodiment, common reference numerals denote common components to omit adescription of the common components, and only different components willbe described below in detail.

The master control device 3 includes the master control unit 4 and theforce transmitting unit 5.

The slave control device 23 includes the slave control unit 24, theforce correcting unit 25, the force information acquiring unit 26, theforce correction section detecting unit 27, the speed informationacquiring unit 28, a force correcting method selecting unit 35, and acorrection amount storing unit 42.

In the force correcting method selecting unit 35, one of “object gripposition information”, “object flexibility information”, and “mastergrip position information” is selected. Selection information selectedby the force correcting method selecting unit 35 is outputted to theforce correcting unit 25, and information used when the force correctionis performed is designated by the force correcting unit 25 on the basisof the selection information. Since the force correcting unit 25 and theslave force correcting unit 39 differs depending on the selectioninformation selected by the force correcting method selecting unit 35,an explanation will be made in units of pieces of selected information.

In a method of selecting each piece of information in the forcecorrecting method selecting unit 35, when an operator (person), by usingthe master input/output IF 7 configured by a console panel or the likeon which, for example, a plurality of buttons are arranged, manuallydepresses one of buttons corresponding to, respectively, the “objectgrip position information”, the “object flexibility information”, andthe “master grip position information”, the input information isselected by the force correcting method selecting unit 35 on the basisof information inputted by the depression. If the operator does notselect any information, the “object grip position information” isautomatically selected by the force correcting method selecting unit 35.

The correction amount storing unit 42 holds databases (databases inwhich relational information between information, such as information ofa position at which the slave manipulator 32 grips the object 102,selected by the force correcting method selecting unit 35 and acorrection amount is stored) depending on the information selected bythe force correcting method selecting unit 35. The respective databaseswill be described later. Each of the databases determines a correctionamount from the correction amount storing unit by the force correctingunit 25 and the slave force correcting unit 39 depending on an input tothe master input/output IF 7.

(When “Object Grip Position Information” is Selected by the ForceCorrecting Method Selecting Unit 35)

The force correcting unit 25 and the slave force correcting unit 39, onthe basis of the force information inputted from the slave control unit24 to the force correcting unit 25 and the slave force correcting unit39, as the force information of the “force correction section” (forcecorrection zone), information obtained by correcting the forceinformation is outputted to the slave control unit 24. On the otherhand, as information of “no change”, the force information is outputtedto the slave control unit 24 without being changed.

A functional difference between the force correcting unit 25 and theslave force correcting unit 39 will be described below. The forcecorrecting unit 25 has a function of increasing a force transmitted tothe master manipulator 9. On the other hand, the slave force correctingunit 39 has a function of decreasing the force transmitted to the slavemanipulator 32.

A method of correcting force information will be described withreference to FIGS. 21, 22A, and 22B. As an example, a case will bedescribed in which a correction amount of force information isdetermined from the correction amount storing unit 42 by the forcecorrecting unit 25 and the slave force correcting unit 39 depending on atype of an object and a grip position. Here, the grip position of theobject, as shown in FIG. 21, when the slave manipulator 32 grips theobject 102, indicates a distance D1 from a hand (slave hand 71) (A inFIG. 21) of the slave manipulator 32 to a distal end (B in FIG. 21) ofthe object 102.

As a method of acquiring an object grip position D1, a method ofdirectly measuring the distance D1 with a measure etc. by a person andinputting the distance using the master input IF 7, or a method ofmeasuring the distance D1 by image recognition using a camera, or thelike may be conceived.

In this case, as an example, a procedure of measuring the object gripposition D1 by image recognition to perform force correction will bedescribed with reference to FIGS. 22A and 22B.

Since, in block diagrams showing the control apparatus 100D of themaster-slave robot 150 in FIGS. 22A and 22B, the master robot system 1,the slave control unit 24, the force information acquiring unit 26, theforce correction section detecting unit 27, the speed informationacquiring unit 28, the slave peripheral device 29, and the slavemanipulator 32 in FIG. 1 are the same as those in the first embodiment,common reference numerals denote common components to omit a descriptionof the common components, and only different components will bedescribed below in detail. Note that the configurations in FIGS. 20A and20B are different from the configurations in FIGS. 22A and 22B in thatan image-taking device 36 such as a camera and a grip position acquiringunit 37 connected to the image-taking device 36 are added. Here, theimage-taking device 36 and the grip position acquiring unit 37 configurean object grip position acquiring unit 110.

The image-taking device 36 such as a camera acquires an image in whichthe slave manipulator 32 grips the object 102 and outputs acquired imageinformation to the grip position acquiring unit 37.

The grip position acquiring unit 37 calculates object grip positioninformation on the basis of the image information acquired by theimage-taking device 36 and outputs the object grip position informationto the force correcting unit 25 and the slave force correcting unit 39.The force correcting unit 25 and the slave force correcting unit 39, byusing the object grip position information from the grip positionacquiring unit 37, calculate correction amounts by the force correctingunit 25 and the slave force correcting unit 39 from a database that isheld in the correction amount storing unit 42 and that storesrelationships among an object, a grip position, and a correction amountas shown in FIG. 23. In this case, an operator inputs a type (flexibleboard A, screw A, or the like in FIG. 23) of an object to be used to thecorrection amount storing unit 42 by using a button of the masterinput/output IF 7. On the basis of the information of the type of theobject to be used inputted by the operator and the object grip positioninformation from the grip position acquiring unit 37, the forcecorrecting unit 25 and the slave force correcting unit 39 acquire thecorrection amounts from the correction amount storing unit 42. A valueof the database in the correction amount storing unit 42 increases to1.2 times to 1.4 times in the flexible board A when the correctionamount increases as the grip position is elongated to 5 mm to 10 mm.When the correction amount decreases, the value increases to 0.6 timesto 0.8 times. In a flexible board B, as the grip position is elongatedto 5 mm to 10 mm, the value increases to 1.5 times to 2.0 times when thecorrection amount increases. When the correction amount decreases, thevalue increases to 0.2 times to 0.5 times.

A determination whether the correction amount increases or decreaseswill be described below. When the force correction section detectingunit 27 and the slave force correction section detecting unit 40determine that the displacement of the pieces of force informationacquired by the force information acquiring unit 26 exceeds a thresholdvalue (for example, 1.0 N), the force correction section detecting unit27 and the slave force correction section detecting unit 40 performdetection as an “increase”. When the force correction section detectingunit 27 and the slave force correction section detecting unit 40determine that the displacement of the pieces of force informationacquired by the master force information acquiring unit 10 exceeds athreshold value, the force correction section detecting unit 27 and theslave force correction section detecting unit 40 perform detection as a“decrease”.

(When “Object Flexibility Information” is Selected by the ForceCorrecting Method Selecting Unit 35)

The force correcting unit 25 and the slave force correcting unit 39, onthe basis of the force information inputted from the slave control unit24 to the force correcting unit 25 and the slave force correcting unit39, as the force information of the “force correction section” (forcecorrection zone), output information obtained by correcting the forceinformation to the slave control unit 24. On the other hand, asinformation of “no change”, the force information is outputted to theslave control unit 24 without being changed.

In a method of correcting the force information, depending on objectflexibility information, the force correcting unit 25 and the slaveforce correcting unit 39 determine a correction amount of forceinformation from the correction amount storing unit 42. An objectflexibility means a buckling load of an object. An operator needs tomeasure the buckling load of the object in advance. The buckling loadmeasured in advance and acquired is inputted to the correction amountstoring unit 42 by the operator using the master input IF 7. A method ofmeasuring a buckling load of an object will be described below withreference to FIGS. 24A to 24F. FIGS. 24A to 24C are lateral viewsobtained when the flexible board 104 is used, and FIGS. 24D to 24F areviews obtained when the screw 107 is used.

As shown in FIGS. 24A and 24D, an object is caused to uprise on a fixingpedestal 108, and an end portion on a side opposing an insertiondirection of the object is fixed by the fixing pedestal 108.

Subsequently, as shown in FIGS. 24B and 24E, a force is graduallyapplied to an end portion in the insertion direction of the object byusing a force applying device 109 along a longitudinal direction of theobject.

As shown in FIGS. 24C and 24F, a magnitude of a force obtained when anobject is buckled is measured, and the magnitude of the force is definedas a buckling load.

The buckling load thus obtained and the type of the object are inputtedby an operator using the master input IF 7 by the operator and stored inthe correction amount storing unit 42.

As a method of calculating a correction amount using object flexibilityinformation, a database that stores a relationship among the type of theobject as shown in FIG. 25, the buckling load, and the correction amountis owned by the correction amount storing unit 42, and, depending on thepieces of information of the type of the object and the buckling load,the force correcting unit 25 and the slave force correcting unit 39calculate a calculation amount from the correction amount storing unit42. A value of the database, in the flexible board A, decreases to 1.4times to 1.2 times, when the correction amount increases as the bucklingload increases to 10 N to 20 N (become hard). When the correction amountdecreases, the value decreases to 0.8 times to 0.6 times.

A determination whether the correction amount increases or decreaseswill be described below. When the force correction section detectingunit 27 and the slave force correction section detecting unit 40determine that the displacement of the pieces of force informationacquired by the force information acquiring unit 26 exceeds a thresholdvalue (for example, 1.0 N), the force correction section detecting unit27 and the slave force correction section detecting unit 40 performdetection as an “increase”. When the force correction section detectingunit 27 and the slave force correction section detecting unit 40determine that the displacement of the pieces of force informationacquired by the master force information acquiring unit 10 exceeds thethreshold value, the force correction section detecting unit 27 and theslave force correction section detecting unit 40 perform detection as a“decrease”.

(When “Master Grip Position Information” is Selected by the ForceCorrecting Method Selecting Unit 35)

The force correcting unit 25 and the slave force correcting unit 39, onthe basis of the force information inputted from the slave control unit24 to the force correcting unit 25 and the slave force correcting unit39, as the force information of the “force correction section” (forcecorrection zone), information obtained by correcting the forceinformation is outputted to the slave control unit 24. On the otherhand, as information of “no change”, the force information is outputtedto the slave control unit 24 without being changed.

A method of correcting the force information will be described withreference to FIGS. 26A to 26B. The master grip position information, asshown in FIG. 26A, is position information for which the human hand 101grips the master manipulator 9. In this case, on the master manipulator9, at three points, i.e., a point A, a point B, and a point C in FIG.26A, force sensors 66A, 66B, and 66C serving as an example of a mastergrip position acquiring unit are attached, respectively.

After pieces of force information acquired by the force sensors 66A,66B, and 66C are sent to the master force information acquiring unit 10through the master input/output IF 7 (see FIG. 7), the pieces of forceinformation are sent to the force correcting unit 25 through the mastercontrol unit 4 and the slave control unit 24. At this time, the piecesof force information at the point A, the point B, and the point C arecompared with each other by the force correcting unit 25, and a pointthat exhibits the maximum value is defined as a master grip position inthe force correcting unit 25. Even though the slave manipulator 32 (seea shape in FIG. 21) and the master manipulator 9 have different shapesas shown in FIG. 26B, the three force sensors 66A, 66B, and 66C areattached to the master manipulator 9, and a grip position is acquired onthe basis of the pieces of force information at the point A, the pointB, and the point C. As a method of calculating a correction amount usingmaster grip position information, a database that stores a relationshipbetween a master grip position and a correction amount as shown in FIG.27 is owned by the correction amount storing unit 42, and a correctionamount of force information is calculated from the correction amountstoring unit 42 by the force correcting unit 25 and the slave forcecorrecting unit 39. A value of the database increases to 1.2 times, 1.4times, and 1.6 times when the correction amount increases as the mastergrip position changes into the point A, the point B, and the point C.When the correction amount decreases, the value decreases to 0.8 times,0.6 times, and 0.4 times.

FIG. 28 is a flowchart showing operations performed until forcecorrection is performed after force information and speed information inthe fourth embodiment of the present invention are acquired.

In step S201, pieces of force information are acquired by the forceinformation acquiring unit 26 and the master force information acquiringunit 10, and speed information is acquired by the speed informationacquiring unit 28.

In step S206, it is detected in the force correction section detectingunit 27 and the slave force correction section detecting unit 40 whetherforce correction is performed. In the force correcting unit 25, theforce correction section detecting unit 27 and the slave forcecorrection section detecting unit 40 determine whether the forceinformation acquired by the force information acquiring unit 26 and themaster force information acquiring unit 10 has a force correctionsection (force correction zone).

A functional difference between the force correction section detectingunit 27 and the slave force correction section detecting unit 40 will bedescribed below. The force correction section detecting unit 27 has afunction of detecting a “force correction section” (force correctionzone) by using at least one of the force information acquired by theforce information acquiring unit 26 and the speed information acquiredby the speed information acquiring unit 28. On the other hand, the slaveforce correction section detecting unit 40 has a function of detecting a“force correction section” (force correction zone) by using at least oneof the force information acquired by the master force informationacquiring unit 10 and the speed information acquired by the speedinformation acquiring unit 28.

In step S206, when the force correction section detecting unit 27 andthe slave force correction section detecting unit 40 determine thatthere is no force correction section (force correction zone), thecontrol flow shifts to step S300.

In step S300, force information in which force correction is notperformed is directly transmitted from the force correcting unit 25 tothe master manipulator 9 and the slave manipulator 32 to end a series offlows.

In step S206, when the force correction section detecting unit 27 or theslave force correction section detecting unit 40 determines that thereis a force correction section (force correction zone), the control flowshifts to step S207.

In step S207, the force correction section detecting unit 27 or theslave force correction section detecting unit 40 detects that there is aforce correction section (force correction zone). The force correctionsection detecting unit 27 or the slave force correction sectiondetecting unit 40, when force correction is performed, detects whetherthe force correction amount is increased or decreased. Note that at asection (zone) detected as “no change” by the force correction sectiondetecting unit 27 or the slave force correction section detecting unit40, the force information is transmitted by the force correction sectiondetecting unit 27 and the slave force correction section detecting unit40 without being corrected. At a section (zone) detected as an“increase” by the force correction section detecting unit 27 and theslave force correction section detecting unit 40, the control flowshifts to step S221A. At a section (zone) detected as a “decrease” bythe force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, the control flow shifts to stepS221B.

In step S221A, in the force correcting method selecting unit 35, theforce correcting method selecting unit 35 determines whether “objectgrip position information” is selected as information used in the forcecorrecting unit 25 and the slave force correcting unit 39. When theforce correcting method selecting unit 35 determines that the “objectgrip position information” is selected as the information used in theforce correcting unit 25 and the slave force correcting unit 39, thecontrol flow shifts to step S208. When the force correcting methodselecting unit 35 determines that the “object grip position information”is not selected as the information used in the force correcting unit 25and the slave force correcting unit 39, the control flow shifts to stepS222A.

In step S222A, in the force correcting method selecting unit 35, theforce correcting method selecting unit 35 determines whether “objectflexibility information” is selected as information used in the forcecorrecting unit 25 and the slave force correcting unit 39. When theforce correcting method selecting unit 35 determines that the “objectflexibility information” is selected as the information used in theforce correcting unit 25 and the slave force correcting unit 39, thecontrol flow shifts to step S208. When the force correcting methodselecting unit 35 determines that the “object flexibility information”is not selected as the information used in the force correcting unit 25and the slave force correcting unit 39, the control flow shifts to stepS223A.

In step S223A, in the force correcting method selecting unit 35, theforce correcting method selecting unit 35 determines whether “mastergrip position information” is selected as information used in the forcecorrecting unit 25 and the slave force correcting unit 39. When theforce correcting method selecting unit 35 determines that the “mastergrip position information” is selected as the information used in theforce correcting unit 25 and the slave force correcting unit 39, thecontrol flow shifts to step S208. When the force correcting methodselecting unit 35 determines that the “master grip position information”is not selected as the information used in the force correcting unit 25and the slave force correcting unit 39, any information is notconsequently selected in step S221A to step S223A. This case correspondsto a case in which the operator does not select any information, and“object grip position information” is automatically selected by theforce correcting method selecting unit 35, and the control flow shiftsto step S208.

In step S208, by using the information selected by the force correctingmethod selecting unit 35, at a section (zone) detected as an “increase”by the force correction section detecting unit 27 and the slave forcecorrection section detecting unit 40, after the absolute value of theforce information is increased in the force correcting unit 25, thecontrol flow shifts to step S210.

In step S210, the increased force information is transmitted from theforce correcting unit 25 to the master manipulator 9 to end a series offlows.

In step S221B, the force correcting method selecting unit 35 determineswhether “object grip position information” is selected as informationused in the force correcting unit 25 and the slave force correcting unit39. When the force correcting method selecting unit 35 determines thatthe “object grip position information” is selected as the informationused in the force correcting unit 25 and the slave force correcting unit39, the control flow shifts to step S209. When the force correctingmethod selecting unit 35 determines that the “object grip positioninformation” is not selected as the information used in the forcecorrecting unit 25 and the slave force correcting unit 39, the controlflow shifts to step S222B.

In step S222B, the force correcting method selecting unit 35 determineswhether “object flexibility information” is selected as information usedin the force correcting unit 25 and the slave force correcting unit 39.When the force correcting method selecting unit 35 determines that the“object flexibility information” is selected as the information used inthe force correcting unit 25 and the slave force correcting unit 39, thecontrol flow shifts to step S209. When the force correcting methodselecting unit 35 determines that the “object flexibility information”is not selected as the information used in the force correcting unit 25and the slave force correcting unit 39, the control flow shifts to stepS223B.

In step S223B, the force correcting method selecting unit 35 determineswhether “master grip position information” is selected as informationused in the force correcting unit 25 and the slave force correcting unit39. When the force correcting method selecting unit 35 determines thatthe “master grip position information” is selected as the informationused in the force correcting unit 25 and the slave force correcting unit39, the control flow shifts to step S209. When the force correctingmethod selecting unit 35 determines that the “master grip positioninformation” is not selected as the information used in the forcecorrecting unit 25 and the slave force correcting unit 39, anyinformation is not consequently selected in step S221B to step S223B.This case corresponds to a case in which the operator does not selectany information, and “object grip position information” is automaticallyselected by the force correcting method selecting unit 35, and thecontrol flow shifts to step S209.

In step S209, at a section (zone) detected as a “decrease” by the forcecorrection section detecting unit 27 and the slave force correctionsection detecting unit 40, after the absolute value of the forceinformation is decreased in the slave force correcting unit 39, thecontrol flow shifts to step S211.

In step S211, the decreased force information is transmitted from theforce correcting unit 25 to the slave manipulator 32 to end a series offlows.

Effects of Fourth Embodiment

When tasks are performed such that object grip positions changedepending on the tasks, upon selection of the “object grip positioninformation”, a correction amount is adjusted depending on a positionwhere an object is gripped. As a result, a task performed when the tasksare performed such that the object grip positions change depending onthe tasks can be easily performed. Similarly, when the tasks areperformed such that flexibilities of the object change depending on thetasks, upon selection of the “object flexibility information”, acorrection amount is adjusted depending on the flexibilities of theobject. As a result, a task performed when the tasks are performed suchthat the flexibilities of the object change depending on the tasks canbe easily performed. Since, upon selection of the “master grip positioninformation”, a correction amount can be adjusted by a person's will,the correction amount can be adjusted by the person depending on taskssuch that the correction amount is increased when a fine task isperformed (for example, in a task of inserting a flexible board into aconnector) or the correction amount is reduced when a rough task isperformed (for example, in a task of moving a flexible board to aninsertion hole of the connector).

Though the present invention has been described above based on the abovefirst to fourth embodiments, the present invention should not be limitedto the above-described first to fourth embodiments. For example, thepresent invention also includes the following cases.

Each of the above-described apparatuses is actually a computer systemthat includes, for example, a microprocessor, ROM, RAM, hard disk unit,display unit, keyboard, and mouse. A computer program is stored on theRAM or the hard disk unit. Functions of each of the apparatuses can beachieved by the microprocessor operating according to the computerprogram. The computer program mentioned here is a combination of aplurality of instruction codes that indicate commands to a computer forachieving predetermined functions.

In other words, in each of the above-mentioned embodiments, eachcomponent may be composed of dedicated hardware, or implemented byexecuting programs for components feasible with software. Each componentcan be implemented as a result that a program executing part such as aCPU reads and executes software programs recorded in a recording mediumsuch as a hard disk or semiconductor memory. Here, software thatimplements an information-processing device according to each of theabove-mentioned embodiments is a following program. That is to say, thisprogram has a computer execute the units/steps defined in claims. Theprogram has a computer execute the units/steps defined in claims.

Arbitrary embodiments of the above various embodiments are combined toeach other, whereby the effects held by the embodiments can be achieved.

The present invention is useful as a control apparatus and method for amaster-slave robot such as an industrial robot in which a robotmanipulated by a person and a robot performing a task can be separatelymanipulated, a master-slave robot, a program for robot control, and anintegrated electronic circuit. The present invention may be applied asnot only an industrial robot but also a home-use robot, a controlapparatus for a robot, a control program for robot control, and anintegrated electronic circuit.

Although the present invention has been fully described in connectionwith the preferred embodiments thereof with reference to theaccompanying drawings, it is to be noted that various changes andmodifications are apparent to those skilled in the art. Such changes andmodifications are to be understood as included within the scope of thepresent invention as defined by the appended claims unless they departtherefrom.

What is claimed is:
 1. A control apparatus for a master-slave robothaving a slave manipulator that grips an object and performs a taskwhile touching an object to be worked, and a master manipulator thatcauses a person to remote-control the slave manipulator, the controlapparatus comprising: a master force information acquiring unit thatacquires, at predetermined time intervals, force information applied tothe master manipulator by the person; a speed information acquiring unitthat acquires, as the predetermined time intervals, speed information ofa hand of the slave manipulator; a slave force correction sectiondetecting unit that detects a force correction section serving asinformation of a zone that is required to be corrected in the forceinformation on basis of the force information acquired by the masterforce information acquiring unit at the predetermined time intervals andthe speed information acquired by the speed information acquiring unitat the predetermined time intervals, the zone being from (i) a point intime at which a displacement between adjacent pieces of the forceinformation exceeds a force threshold value to a point of time at whicha displacement between adjacent pieces of the force information is equalto or less than the force threshold value or (ii) a point in time atwhich a displacement between adjacent pieces of the speed informationexceeds a speed threshold value to a point of time at which adisplacement between adjacent pieces of the speed information is equalto or less than the speed threshold value; a slave force correcting unitthat corrects the force information in the zone detected by the slaveforce correction section detecting unit; a slave force transmitting unitthat transmits the force information from the slave force correctingunit to the slave manipulator; a master control unit that controlsmanipulation information of the master manipulator when the personmanipulates the master manipulator on basis of the force informationfrom the slave force transmitting unit; and a slave control unit that isconnected to the slave manipulator and the master control unit andoutputs a control signal transmitting the manipulation information ofthe master manipulator sent from the master control unit to the slavemanipulator.
 2. The control apparatus for a master-slave robot accordingto claim 1, wherein the slave force correction section detecting unitdetects a force correction position serving as any one of forceinformation in a zone in which an absolute value of the forceinformation is corrected so as to be reduced and force information in azone in which the force information is not corrected, from the forceinformation acquired by the master force information acquiring unit, andthe slave force correcting unit corrects the force information so as toreduce the absolute value of the force information in the zone in whichthe absolute value is reduced, detected by the slave force correctionsection detecting unit.
 3. A control method for a control apparatus fora master-slave robot including a slave manipulator that grips an objectand performs a task while touching an object to be worked, and a mastermanipulator that causes a person to remote-control the slavemanipulator, the control method comprising: acquiring, at predeterminedtime intervals using a master force information acquiring unit, forceinformation applied to the master manipulator by the person; acquiring,at the predetermined time intervals using a speed information acquiringunit, speed information of a hand of the slave manipulator; detecting,using a slave force correction section detecting unit, a forcecorrection section serving as information of a zone that is required tobe corrected in the force information on basis of the force informationacquired by the master force information acquiring unit at thepredetermined time intervals and the speed information acquired by thespeed information acquiring unit at the predetermined time intervals,the zone being from (i) a point in time at which a displacement betweenadjacent pieces of the force information exceeds a force threshold valueto a point of time at which a displacement between adjacent pieces ofthe force information is equal to or less than the force threshold valueor (ii) a point in time at which a displacement between adjacent piecesof the speed information exceeds a speed threshold value to a point oftime at which a displacement between adjacent pieces of the speedinformation is equal to or less than the speed threshold value;correcting, using a slave force correcting unit, the force informationin the zone detected by the slave force correction section detectingunit; transmitting, using a slave force transmitting unit, the forceinformation from the slave force correcting unit to the slavemanipulator; controlling, using a master control unit, manipulationinformation of the master manipulator when the person manipulates themaster manipulator on basis of the force information from the slaveforce transmitting unit; outputting, sing a slave control unit connectedto the slave manipulator and the master control unit, a control signaltransmitting the manipulation information of the master manipulator sentfrom the master control unit to the slave manipulator.
 4. Anon-transitory computer-readable recording medium having stored thereona control program for a control apparatus for a master-slave robotincluding a slave manipulator that grips an object and performs a taskwhile touching an object to be worked, and a master manipulator thatcauses a person to remote-control the slave manipulator, wherein, whenexecuted, the control program causes the control apparatus to perform acontrol method comprising: acquiring, at predetermined time intervalsusing a master force information acquiring unit, force informationapplied to the master manipulator by the person; acquiring, at thepredetermined time intervals using a speed information acquiring unit,speed information of a hand of the slave manipulator; detecting, using aslave force correction section detecting unit, a force correctionsection serving as information of a zone that is required to becorrected in the force information on basis of the force informationacquired by the master force information acquiring unit at thepredetermined time intervals and the speed information acquired by thespeed information acquiring unit at the predetermined time intervals,the zone being from (i) a point in time at which a displacement betweenadjacent pieces of the force information exceeds a force threshold valueto a point of time at which a displacement between adjacent pieces ofthe force information is equal to or less than the force threshold valueor (ii) a point in time at which a displacement between adjacent piecesof the speed information exceeds a speed threshold value to a point oftime at which a displacement between adjacent pieces of the speedinformation is equal to or less than the speed threshold value;correcting, using a slave force correcting unit, the force informationin the zone detected by the slave force correction section detectingunit; transmitting, using a slave force transmitting unit, the forceinformation from the slave force correcting unit to the slavemanipulator; controlling, using a master control unit, manipulationinformation of the master manipulator when the person manipulates themaster manipulator on basis of the force information from the slaveforce transmitting unit; outputting, using a slave control unitconnected to the slave manipulator and the master control unit, acontrol signal transmitting the manipulation information of the mastermanipulator sent from the master control unit to the slave manipulator.5. An integrated electronic circuit for a control apparatus for amaster-slave robot including a slave manipulator that grips an objectand performs a task while touching an object to be worked, and a mastermanipulator that causes a person to remote-control the slavemanipulator, the integrated electronic circuit comprising: a masterforce information acquiring unit that acquires, at predetermined timeintervals, force information applied to the master manipulator by theperson; a speed information acquiring unit that acquires, as thepredetermined time intervals, speed information of a hand of the slavemanipulator; a slave force correction section detecting unit thatdetects a force correction section serving as information of a zone thatis required to be corrected in the force information on basis of theforce information acquired by the master force information acquiringunit at the predetermined time intervals and the speed informationacquired by the speed information acquiring unit at the predeterminedtime intervals, the zone being from (i) a point in time at which adisplacement between adjacent pieces of the force information exceeds aforce threshold value to a point of time at which a displacement betweenadjacent pieces of the force information is equal to or less than theforce threshold value or (ii) a point in time at which a displacementbetween adjacent pieces of the speed information exceeds a speedthreshold value to a point of time at which a displacement betweenadjacent pieces of the speed information is equal to or less than thespeed threshold value; a slave force correcting unit that corrects theforce information in the zone detected by the slave force correctionsection detecting unit; a slave force transmitting unit that transmitsthe force information from the slave force correcting unit to the slavemanipulator; a master control unit that controls manipulationinformation of the master manipulator when the person manipulates themaster manipulator on basis of the force information from the slaveforce transmitting unit; and a slave control unit that is connected tothe slave manipulator and the master control unit and outputs a controlsignal transmitting the manipulation information of the mastermanipulator sent from the master control unit to the slave manipulator.